Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] QGraphicsItem и мышь над ним


Автор: ecspertiza 18.12.2009, 10:53
Как определить что мышь находится над QGraphicsItem ? Я унаследовал от него класс переопределил событие event но увы некатит... может есть другой способ?

Автор: ecspertiza 18.12.2009, 11:26
Нашел что у QGraphicsItem есть события

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

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

Автор: djamshud 18.12.2009, 12:08
ecspertiza, включал обработку мыши именно так, проблем емнип не было. Если не сложно, локализуйте проблему и выложите пример с ней.

Автор: ecspertiza 18.12.2009, 14:55
Нашел в чем косяк был , QGraphicsView обрабатывал событие mouseMovieEvent() и если в обычных условиях это событие обрабатывается при зажатой кнопки мыши ,то в случае если у итема зданно setAcceptHoverEvents(true), оно обрабатывается постоянно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)