Название: странное эффект от флага ItemIsMovable Отправлено: lighting от Июль 27, 2009, 17:09 Пытаюсь нарисовать кнопку как QGraphicsItem
Код Когда создаю ее с флагом ItemIsMovable все работает нормально, но кнопка свободно таскается мышкой по всему окну. Если-же я убираю этот флаг, то события кнопкой отлавливаются, но правильной отрисовки состояния кнопки не происходит. В Assistant'е я связи между этими двумя флагами не нашел, но она похоже есть. Как-же правильно отрисовывать нажатие кнопки, чтобы она при этом не таскалась по всему экрану? Название: Re: странное эффект от флага ItemIsMovable Отправлено: f-r-o-s-t от Июль 27, 2009, 17:52 Первое что пришло в голову включи ItemIsMovable , а событие предку не отдавай.
В Assistant'е я связи между этими двумя флагами не нашел, но она похоже есть. Какими двумя флагами ? Название: Re: странное эффект от флага ItemIsMovable Отправлено: lighting от Июль 27, 2009, 22:07 f-r-o-s-t ItemIsMovable и State_Sunken. При выключении первого почему-то выключается и второй.
Название: Re: странное эффект от флага ItemIsMovable Отправлено: f-r-o-s-t от Июль 27, 2009, 22:45 Ну а что если включить ItemIsMovable , а событие предку не отдавать ?
Название: Re: странное эффект от флага ItemIsMovable Отправлено: lighting от Июль 28, 2009, 08:58 кнопка по прежнему и нажимается и перетаскивается, только при перетаскивании теперь еще смещение указателя мышки происходит.
PS: Совсем забыл, Qt 4.5 Название: Re: странное эффект от флага ItemIsMovable Отправлено: f-r-o-s-t от Июль 28, 2009, 09:08 Все понял. Я перепутал, это надо у сцены событие перемещения мыши не отдавать предку.
У тебя кроме твоих кнопок есть еще что нибудь на сцене ? Название: Re: странное эффект от флага ItemIsMovable Отправлено: lighting от Июль 28, 2009, 12:57 да пока-что на сцене у меня одна только кнопка :)
У меня для сцены события мыши вообще не определены. Нужно объявить mousePressEvent и mouseReleaseEvent с пустым телом? Название: Re: странное эффект от флага ItemIsMovable Отправлено: f-r-o-s-t от Июль 28, 2009, 21:22 Достаточно только нажатие, НО не зная чего ты хочешь получить в итоге, не могу тебе сказать что это хороший вариант.
|