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