crossplatform.ru

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

Гость_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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 17.6.2025, 15:32