Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: korel от Октябрь 28, 2010, 14:47



Название: Хочу добавить свойств для кастомного контрола в дизайнере.
Отправлено: korel от Октябрь 28, 2010, 14:47
Не нашел ни одного человеческого примера по сабжу... Буду благодарен за любые советы на данную тему.


Название: Re: Хочу добавить свойств для кастомного контрола в дизайнере.
Отправлено: korel от Октябрь 28, 2010, 15:43
В общем, скажу прямо - Я не понял как конкретно нужно работать с классом QDesignerPropertySheetExtension.

Моей целью является добавление свойств задания картинок, что будут отрисовываться на контроле, при маус ентере/ливе.

Может кому приходилось, что то в этом роде делать... Буде благодарен засоветы.


Название: Re: Хочу добавить свойств для кастомного контрола в дизайнере.
Отправлено: DOOMer от Октябрь 28, 2010, 16:34
Читайте про  Qt Property System (http://doc.qt.nokia.com/4.7/properties.html)


Название: Re: Хочу добавить свойств для кастомного контрола в дизайнере.
Отправлено: korel от Октябрь 28, 2010, 17:12
т.е. если я правильно понял, в классе плагина, который, собственно, создает контрол типа CustomButton прописываем макрос:
Код:
    Q_PROPERTY(CustomButton
               [ACTIVESTATEICONLOAD LoadActiveStateIconFunction]
               [NORMALSTATEICONLOAD LoadNormalStateIconFunction])
где ACTIVESTATEICONLOAD - запись должна появиться в пропертях а при задании этого проперти должен отработать метод CustomButton-a -> LoadActiveStateIcon?


Название: Re: Хочу добавить свойств для кастомного контрола в дизайнере.
Отправлено: korel от Октябрь 28, 2010, 17:21
т.е. если я правильно понял, в классе плагина, который, собственно, создает контрол типа CustomButton прописываем макрос:
Код:
    Q_PROPERTY(CustomButton
               [ACTIVESTATEICONLOAD LoadActiveStateIconFunction]
               [NORMALSTATEICONLOAD LoadNormalStateIconFunction])
где ACTIVESTATEICONLOAD - запись должна появиться в пропертях а при задании этого проперти должен отработать метод CustomButton-a -> LoadActiveStateIcon?


Сори, поспешил)
В классе кнопки - т.е. моей кастомной кнопки, для QIcon active_state_icon и normal_state_icon нужно написать что-то типа такого:
Код:
Q_PROPERTY(QIcon active_state_icon READ GetActivelStateIcon WRITE LoadActiveStateIcon)
Q_PROPERTY(QIcon normal_state_icon READ GetNormalStateIcon WRITE LoadNormalStateIcon)


Название: Re: Хочу добавить свойств для кастомного контрола в дизайнере.
Отправлено: DOOMer от Октябрь 28, 2010, 17:29
Да так.

Ещё посмотрите вот этот пример, (http://doc.qt.nokia.com/4.7/designer-customwidgetplugin.html) там показно создание плагина для qtDesigner д на основе кастомного виджета.


Название: Re: Хочу добавить свойств для кастомного контрола в дизайнере.
Отправлено: korel от Октябрь 28, 2010, 18:05
Ещё посмотрите вот этот пример, (http://doc.qt.nokia.com/4.7/designer-customwidgetplugin.html) там показно создание плагина для qtDesigner д на основе кастомного виджета.
Собственно по этому примеру я и делал свой контрол.

Свойства появились. Все хорошо на этом этапе. Спасибо.