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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsItem позиция мыши над ним  (Прочитано 3693 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Декабрь 17, 2009, 17:38 »

Как определить что мышь находится над QGraphicsItem ? Я унаследовал от него класс переопределил событие event но увы некатит... может есть другой способ?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #1 : Декабрь 18, 2009, 11:24 »

Нашел что у QGraphicsItem есть события

virtual void   hoverEnterEvent ( QGraphicsSceneHoverEvent * event )
virtual void   hoverLeaveEvent ( QGraphicsSceneHoverEvent * event )

для того что бы они работали нужно итему задать setAcceptsHoverEvents(true), казалось бы проблема решена ан нет, после того как я указываю true на всём QGraphicsView устанавливается курсор Qt::ClosedHandCursor и она вся перетаскивает, кто сталкивался с этим подскажите что да как.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Декабрь 18, 2009, 14:55 »

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


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