Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.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 |
Эт я понимаю. Но чем это лучше закинуть переменные в приватную секцию, и написать для них сеттеры и геттеры? Да и вообще ... завести вместо этой кухни стандартные std::map<std::string,std::any>? |
Автор: mitrich 14.06.17, 10:42 |
Если не нужен произвольный доступ к свойствам, то ничем. Подозреваю, что если для переменных в мапе понадобятся setX/getX (напр. перерисовка контрола при изменении текста или вычисляемые свойства), придётся городить что-то сравнимого масштаба. |
Автор: JoeUser 14.06.17, 11:27 |
mitrich, сенкс! Надо поэксперементировать. |