Russian Qt Forum

Qt => Вопросы новичков => Тема начата: billy4685 от Июня 08, 2015, 09:45



Название: Как делать недоступным свойство виджета в Qt Desiner?
Отправлено: billy4685 от Июня 08, 2015, 09:45
Здравствуйте, господа форумчане. Разобрался я тут как создавать свой собственный виджет, и добавлять его в дизайнер Qt Creator-а. Даже получилось в QtDesigner добавлять в Редактор свойств свои свойства. Но столкнулся тут с двумя проблемами:

1. Не понял как делать свое свойство недоступным для выбора. К примеру если какое-то из выше свойств не выбрано, то мое должно быть не доступным. Ну к примеру как на первом рисунке.
2. Не понял пока как добавлять в свойство список для выбора значения. К примеру как на втором рисунке. (Правда думаю может в этом мне поможет QComboBox, не пробовал еще).  

Буду рад любой информации по этому поводу.


Название: Re: Как делать недоступным свойство виджета в Qt Desiner?
Отправлено: Fregloin от Июня 08, 2015, 12:21
читайте в документации про QObject MetaProperties.
Если в кратце:
1) динамически вы не сможете показывать/скрывать конкретное свойство из инспектора свойств. Если не хотите показывать это свойство, установите для него параметр DESIGNABLE в false.
2) свойста типа флагов и перечислений автоматические подхватываются из Q_ENUMS и Q_FLAGS.
Короче читайте про метаобъекты в хелпе.


Название: Re: Как делать недоступным свойство виджета в Qt Desiner?
Отправлено: billy4685 от Июня 08, 2015, 15:52
читайте в документации про QObject MetaProperties.
Если в кратце:
1) динамически вы не сможете показывать/скрывать конкретное свойство из инспектора свойств. Если не хотите показывать это свойство, установите для него параметр DESIGNABLE в false.
2) свойста типа флагов и перечислений автоматические подхватываются из Q_ENUMS и Q_FLAGS.
Короче читайте про метаобъекты в хелпе.
спасибо за ответ, буду разбираться