Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: ecspertiza от Декабрь 17, 2009, 17:38



Название: QGraphicsItem позиция мыши над ним
Отправлено: ecspertiza от Декабрь 17, 2009, 17:38
Как определить что мышь находится над QGraphicsItem ? Я унаследовал от него класс переопределил событие event но увы некатит... может есть другой способ?


Название: Re: QGraphicsItem позиция мыши над ним
Отправлено: ecspertiza от Декабрь 18, 2009, 11:24
Нашел что у QGraphicsItem есть события

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

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


Название: Re: QGraphicsItem позиция мыши над ним
Отправлено: ecspertiza от Декабрь 18, 2009, 14:55
Нашел в чем косяк был , QGraphicsView обрабатывал событие mouseMovieEvent() и если в обычных условиях это событие обрабатывается при зажатой кнопки мыши ,то в случае если у итема зданно setAcceptHoverEvents(true), оно обрабатывается постоянно.