Russian Qt Forum
Сентябрь 29, 2024, 02:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как отследить изменение динамического свойства QObject'a?  (Прочитано 4021 раз)
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« : Декабрь 24, 2008, 18:58 »


Можно ли средствами Qt отслеживать изменения динамических свойств QObject'a?
Есть, конечно, QDynamicPropertyChangeEvent. Но он случается при создании, изменении, удалении динамического свойства. Т.е. надо самому хранить значение свойства, чтобы сравнивать с новым.

Вообще getter/setter-функции были бы идеально.

Пока я только вижу, что это можно cделать только с использованием QtScript.

[Qt 4.5 beta, 4.4.x]
Записан
Detonator
Гость
« Ответ #1 : Декабрь 24, 2008, 20:11 »

А в чем проблема хранить старое св-во?
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #2 : Декабрь 24, 2008, 20:51 »

Хранить старые значения свойств конечно можно, разве что память лишняя потребуется если много хранить надо. (Для мобильных ОС, где мало памяти, эта проблема может быть актуальна.) Ну и хотелось сделать наиболее правильно и красиво (думал может я еще плохо разобрался).
Записан
Rcus
Гость
« Ответ #3 : Декабрь 24, 2008, 21:06 »

Смотря что храним (базовые классы Qt используют счетчики ссылок и копирование-при-записи для сохранения памяти), но обычно там где используются динамические свойства и варианты память считать уже бесполезно Улыбающийся
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #4 : Декабрь 24, 2008, 22:41 »

 Улыбающийся
Записан
Detonator
Гость
« Ответ #5 : Декабрь 25, 2008, 08:29 »

Цитировать
Ну и хотелось сделать наиболее правильно и красиво

Ну чтобы красиво попробуй попросить у команды Qt добавить oldValue и newValue в QDynamicPropertyChangeEvent.
А пока сам исходники поправь и перекомпили.

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.136 секунд. Запросов: 23.