Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: одновременная обработка мыши в QGraphicsItem и QGraphicsView
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
smetana
здрасьте, у меня есть три наследника view, scene и item. когда я во view.h переопределяю mousemoveevent(), то теряется способность перемещать items, и наоборот, когда во items.h переопределяю mousemoveevent(), view не реагирует на мышку.

как сделать, чтобы было одновременно? может флаг какой-нибудь выставить в QgraphicsItem?

p.s.
дело в том, что первый слой рисуется QPainter-ом - это координатная сетка и много графических примитивов(point), которые с помошью QGraphics framework рисовать не целесообразно. для масштабирования и перемещения системы координат нужна поддержка мышки.

а второй слой - это custom item-ы , которые отображаются поверх 1-го слоя и они тоже должны реагировать на мышку - перетаскивание, выделение.
RazrFalcon
В конце предопределенной функции нужно делать:
QGraphicsView::mouseMoveEvent(event); // ну или кто у вас там родитель класса

то есть вызывать стандартную реализацию функции после своего кода.
Алексей1153
и ещё, возможно, перед этим вызвать ignore()

а ещё лучше сделать слой в размер морды сцены и загнать его на Z==-1 .

А этот слой - произвести от QGraphicsItem, да там и ловить мышу
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.