Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Кроссплатформенный C/C++: cl/gcc/Qt/Gtk+/WxWidgets > В чем профит от "The Property System" от Qt5?


Автор: JoeUser 14.06.17, 08:28
Приветствую!

Вопрос, собственно, в сабже. На всякий случай линк.
Никогда не использовал. Прочитал, осознал. Но не пойму, а чем обычные переменные не устроили, чем это хуже? Зачем сюда макросы приплетать? И самое главное - сабж.

Автор: mitrich 14.06.17, 10:05
Ну, метаинформация создается, можно в рантайме смотреть какие есть свойства у объекта и обращаться по имени, напр. obj.setProperty("color", QColor(Qt::red)), при этом будут использоваться заданные сеттеры/геттеры.
Используется это для связи с QML, скриптами, в Дизайнере, в Animation Framework

Автор: JoeUser 14.06.17, 10:09
Цитата mitrich @
какие есть свойства у объекта

Эт я понимаю. Но чем это лучше закинуть переменные в приватную секцию, и написать для них сеттеры и геттеры?
Да и вообще ... завести вместо этой кухни стандартные std::map<std::string,std::any>?

Автор: mitrich 14.06.17, 10:42
Цитата JoeUser @
Но чем это лучше закинуть переменные в приватную секцию,

Если не нужен произвольный доступ к свойствам, то ничем.
Цитата JoeUser @
завести вместо этой кухни стандартные std::map<std::string,std::any>

Подозреваю, что если для переменных в мапе понадобятся setX/getX (напр. перерисовка контрола при изменении текста или вычисляемые свойства), придётся городить что-то сравнимого масштаба.

Автор: JoeUser 14.06.17, 11:27
mitrich, сенкс! Надо поэксперементировать.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)