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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перехват изменения свойств QGraphicsObject в другом QGraphicsObject?  (Прочитано 1964 раз)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« : Апрель 01, 2014, 10:18 »

Привет. Есть класс наследованный от QGpahicsObject (QItem) у которого есть такие свойства, как x,y,z,rotation,matrix и т.д. Они объявлены через Q_PROPERTY.
Есть еще один класс наследованный от QGraphicsObject (QEditor), задача которого содержать в себе элемент QItem и изменять его свойства. Каким образом можно перехватить изменения свойств QItem, что бы QEditor знал о них. Проблема в том, что если программно задать координаты например или поворот для QItem, то QEditor об этом не знает и рисуется по старому, хотя QItem уже в новой позиции или под другим углом. Классов на самом деле много, и набор свойств у всех разный. Сначала глянул на sceneItemFilter но это не то что надо. itemChange то что надо, но он только для внутренних свойвст элемента, т.е. достучаться с другого элемента в него нельзя. Есть ли возможность как то перехватить эти изменения извне или писать костыль?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Апрель 01, 2014, 10:55 »

Привет. Есть класс наследованный от QGpahicsObject (QItem) у которого есть такие свойства, как x,y,z,rotation,matrix и т.д. Они объявлены через Q_PROPERTY.
У свойств есть возможность установить сигнал-нотификатор, который будет эмитеться при любом изменении свойства.
Q_PROPERTY(type name
           (READ getFunction [WRITE setFunction] |
            MEMBER memberName [(READ getFunction | WRITE setFunction)])
           [RESET resetFunction]
           [NOTIFY notifySignal]
           [REVISION int]
           [DESIGNABLE bool]
           [SCRIPTABLE bool]
           [STORED bool]
           [USER bool]
           [CONSTANT]
           [FINAL])
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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