crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Q_PROPERTY на сколько сильно необходим
Delphist
  опции профиля:
сообщение 7.8.2008, 13:08
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Скажите, пожалуйса есть ли где-нить документация на русском по Q_PROPERTY, для чего нужен и как пользваться, например что означает вот это:

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

я так понимаю это вещь сильно похожа на property в Delphi
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
niXman
  опции профиля:
сообщение 7.8.2008, 14:06
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


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

Сообщение отредактировал niXman - 7.8.2008, 14:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 7.8.2008, 14:11
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3284
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Документация есть, но она пока на английском:
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
  опции профиля:
сообщение 7.8.2008, 15:29
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(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
  опции профиля:
сообщение 7.8.2008, 16:44
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9648
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(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*
  опции профиля:
сообщение 7.8.2008, 17:14
Сообщение #6


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


вот здесь я приводил пример использования этого макроса
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.8.2008, 17:18
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9648
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


void*, ты так человеку совсем мозг сломаешь, дай ему освоится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Delphist
  опции профиля:
сообщение 7.8.2008, 18:24
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 7.8.2008, 17:18) *
void*, ты так человеку совсем мозг сломаешь, дай ему освоится.

Не не нормально
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 10.12.2018, 19:06