Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Q_PROPERTY на сколько сильно необходим
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
Delphist
Скажите, пожалуйса есть ли где-нить документация на русском по Q_PROPERTY, для чего нужен и как пользваться, например что означает вот это:

Q_PROPERTY(QDate date_property READ getDateProperty WRITE setDateProperty USER true)
в частности что говорит фраза USER true

я так понимаю это вещь сильно похожа на property в Delphi
niXman
Насколько сильно необходим...? - У меня небыло необходимости в использовании оного, ни разу!
Это:
Q_PROPERTY(QDate date_property READ getDateProperty WRITE setDateProperty USER true)
Означает следующее:
Проперти date_property типа QDate.
Для чтения вызывается функция QDate getDateProperty()
Для записи вызывается функция void setDateProperty(const QDate&).
По поводу USER true неуверен, но походу это флаг на права доступа.
ViGOur
Документация есть, но она пока на английском:
Qt's Property System

Там вот что написано по поводу свойства USER:
Цитата
USER specifies that a particular property in a class (typically a widget) contains user-facing information, and is the main property that a user will modify via the GUI when using instances of the class in an application.


С дельфями очень мало работал, потому не могу сказать как и что.
Delphist
Цитата(ViGOur @ 7.8.2008, 14:11) *
USER specifies that a particular property in a class (typically a widget) contains user-facing information, and is the main property that a user will modify via the GUI when using instances of the class in an application.


Не фига не понятно из этой справки
Litkevich Yuriy
Цитата(Delphist @ 7.8.2008, 17:08) *
для чего нужен

нужен при создании плагинов для Дизайнера, т.е. чтобы описать уникальные свойства виджета собственной разработки. Тем самым пользователь, который будет использовать твой виджет в дизайнере сможет изменять эти свойства прямо в дизайнере. Свойства не объявленные таким макросом в Дизайнере не видны.

Цитата(Delphist @ 7.8.2008, 17:08) *
что говорит фраза USER true

Перевод наскору руку:
"USER определяет, что отдельное свойство класса (как правило, виджет), содержит информацию для пользователя и является главным свойством, которое пользователь будет модифицировать с помощью графического интерфейса при использовании экземпляра класса в приложении."

Цитата(Delphist @ 7.8.2008, 17:08) *
я так понимаю это вещь сильно похожа на property в Delphi
От части да, если вести реч о создании собственного компонента, но в Делфи это встроеная вещь и обращение к ней осуществляется через код и через визуальную среду проектирования.
Для приведенного тобой примера в Делфи былоб, примерно, так:
// Чтение данных из date_property в temp
temp := date_property;
// Запись данных из temp в date_property
date_property := temp
но в Qt (С++) так нельзя, можно только вызывать функции (приблизительный Дельфийский код):
// Чтение данных из date_property в temp
temp := date_property.getDateProperty();
// Запись данных из temp в date_property
date_property.setDateProperty(temp);


Т.е., повторюсь, это нужно только для Дизайнера, для визуального изменения свойства
void*
вот здесь я приводил пример использования этого макроса
Litkevich Yuriy
void*, ты так человеку совсем мозг сломаешь, дай ему освоится.
Delphist
Цитата(Litkevich Yuriy @ 7.8.2008, 17:18) *
void*, ты так человеку совсем мозг сломаешь, дай ему освоится.

Не не нормально
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.