Название: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: break от Декабрь 12, 2007, 03:45 Пытаюсь создать виджет (для использования в QDisigner), который будет иметь свойство - другой объект, у которого также есть свойства. Например как свойство QFont у QWidget.
Есть код: Код: #ifndef SCALE_CONTROL_H Подскажите где я запутался? Название: Re: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: Mikhail от Декабрь 12, 2007, 08:11 Пытаюсь создать виджет (для использования в QDisigner), который будет иметь свойство - другой объект, у которого также есть свойства. Например как свойство QFont у QWidget. Есть код: Код: #ifndef SCALE_CONTROL_H Подскажите где я запутался? Не объявил переменные для хранения значения свойства. Дожно быть QColor COLOR вместо QColor m_color, а в другом классе CArrow arrow1 вместо CArrow m_arrow1. Ассистент тебе поможет. Название: Re: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: break от Декабрь 12, 2007, 10:24 поменял названия свойств хранения (не думал что это имеет значение) ошибка осталась прежняя:
/usr/include/qt4/QtCore/qobject.h:287: error: ‘QObject& QObject::operator=(const QObject&)’ is private release/../src/ScaleControl.h:7: error: within this context release/moc_ScaleControl.cpp:140: note: synthesized method ‘CArrow& CArrow::operator=(const CArrow&)’ first required here Название: Re: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: break от Декабрь 12, 2007, 10:26 Дело в том что с QColor все работает (проверял в Дизайнере), а вот когда я свой CArrow пытаюсь в качестве свойства использовать уже не компилир-ся.
Название: Re: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: Вячеслав от Декабрь 12, 2007, 10:46 А оператор присваивания написать , тот который компилятор хотит ?
Он-же тебе русским английским сказал "CArrow& CArrow::operator=(const CArrow&)" нада ;) Название: Re: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: Tonal от Декабрь 12, 2007, 11:10 QObject не поддерживает копирования, о чём собственно и говорит сообщение компилятора об ошибке.
А с объектными свойствами - посмотри в ассистенте - тот же QFont или QColor не наследуются от QObject и свойств, а так же сигналов со слотами не имеют. Если таки действительно нужен наследник QObject-а - возвращай указатель. Название: Re: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: break от Декабрь 17, 2007, 17:57 Кто нибудь делал такое - уже запутался (с QT только разбираюсь), хочется пример аналогичный первому моему посту, но рабочий, наследник QObject не нужен.
Вообще задача такая - компонент виджет часы - у него стрелки(их то я и хотел в отдельный компонент выделить), кот. имеют собственные цвета, признак видимости и др. сейчас все работает но вместо свойств Arrow1, Arrow2, Arrow3 с соотв. подсвойствами все в кучу пришлось слить в сам компонент - неудобно. Если не получится конечно прийдется оставить так, но ведь QFont работает. В ассистенте ничего не нашел, в исходниках QFont.cpp следующее: Код:
Что такое class Q_GUI_EXPORT, и Q_GADGET - у меня Асистент не находит ничего... Название: Re: Виджет имеющий в качестве Property другой объект со свойствамми Отправлено: pastor от Декабрь 17, 2007, 18:30 Что такое class Q_GUI_EXPORT, и Q_GADGET - у меня Асистент не находит ничего... Q_GUI_EXPORT - это макрос импорта\экспорта; см. qglobal.h Q_GADGET - это макрос позвляет добавить мета-информацию в не QObject-класс; см. qobjectdefs.h |