Russian Qt Forum
Ноябрь 24, 2024, 14:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MouseMoveEvent QGraphicsScene только при нажатой кнопке мыши...  (Прочитано 2993 раз)
TheBlade
Гость
« : Декабрь 12, 2010, 21:51 »

Только, что видел похожую тему, которая не решила моих проблем, а писать в тему с пометкой РЕШЕНО думаю бессмысленно.
Сцена не видит перемещения мыши, хотя в 4.6 это событие работало.
Если какая-нибудь кнопка мыши нажата то сцена начинает ловить перемещение...
Во View таже проблема, но устраняется элементарно -
setMouseTracking(true) после этого вьюха стала получать события перемещения, но у сцены такой опции нет, она не наследована от QWidget...
Буду очень признателен за любую помощь...
Записан
TheBlade
Гость
« Ответ #1 : Декабрь 12, 2010, 22:01 »

Разобрался... странно что сразу не заметил, если поставить setMouseTracking(true); для View которая связана со сценой тогда событие перемещения будет передано сцене.
Записан
mal
Гость
« Ответ #2 : Декабрь 14, 2010, 17:01 »

на сцене должен быть хоть один айтем, у которого установлено свойство setAcceptHoverEvents(true).
Айтем можно погасить, если он не нужен. Например так я делаю  в одном проекте - ну сцену положен пиксмапайтем, рект сцены равен ректу этого пиксмапа. Сам пиксмап мне тут конкретно не нужен. Я его гашу, однако сцена ловит MouseMoveEvent, а так как пиксмапайтем погашен, его нахождение на сцене не создает никаких дополнительных накладных расходов.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 21.