![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Гость_smetana_* |
![]()
Сообщение
#1
|
Гости ![]() |
здрасьте, у меня есть три наследника view, scene и item. когда я во view.h переопределяю mousemoveevent(), то теряется способность перемещать items, и наоборот, когда во items.h переопределяю mousemoveevent(), view не реагирует на мышку.
как сделать, чтобы было одновременно? может флаг какой-нибудь выставить в QgraphicsItem? p.s. дело в том, что первый слой рисуется QPainter-ом - это координатная сетка и много графических примитивов(point), которые с помошью QGraphics framework рисовать не целесообразно. для масштабирования и перемещения системы координат нужна поддержка мышки. а второй слой - это custom item-ы , которые отображаются поверх 1-го слоя и они тоже должны реагировать на мышку - перетаскивание, выделение. |
|
|
RazrFalcon |
![]()
Сообщение
#2
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
В конце предопределенной функции нужно делать:
то есть вызывать стандартную реализацию функции после своего кода. Сообщение отредактировал RazrFalcon - 14.12.2012, 14:45 |
|
|
Алексей1153 |
![]()
Сообщение
#3
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
и ещё, возможно, перед этим вызвать ignore()
а ещё лучше сделать слой в размер морды сцены и загнать его на Z==-1 . А этот слой - произвести от QGraphicsItem, да там и ловить мышу Сообщение отредактировал Алексей1153 - 18.12.2012, 23:24 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.2.2025, 14:25 |