Название: Перехват изменения свойств QGraphicsObject в другом QGraphicsObject? Отправлено: Fregloin от Апрель 01, 2014, 10:18 Привет. Есть класс наследованный от QGpahicsObject (QItem) у которого есть такие свойства, как x,y,z,rotation,matrix и т.д. Они объявлены через Q_PROPERTY.
Есть еще один класс наследованный от QGraphicsObject (QEditor), задача которого содержать в себе элемент QItem и изменять его свойства. Каким образом можно перехватить изменения свойств QItem, что бы QEditor знал о них. Проблема в том, что если программно задать координаты например или поворот для QItem, то QEditor об этом не знает и рисуется по старому, хотя QItem уже в новой позиции или под другим углом. Классов на самом деле много, и набор свойств у всех разный. Сначала глянул на sceneItemFilter но это не то что надо. itemChange то что надо, но он только для внутренних свойвст элемента, т.е. достучаться с другого элемента в него нельзя. Есть ли возможность как то перехватить эти изменения извне или писать костыль? Название: Re: Перехват изменения свойств QGraphicsObject в другом QGraphicsObject? Отправлено: Old от Апрель 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]) |