crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> одновременная обработка мыши в 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  


В конце предопределенной функции нужно делать:
QGraphicsView::mouseMoveEvent(event); // ну или кто у вас там родитель класса

то есть вызывать стандартную реализацию функции после своего кода.

Сообщение отредактировал 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 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 12:47