我有一个衍生自QGraphicsView
的类,其中包含QGraphicsItem
衍生的元素。我想这些元素,只要将鼠标光标悬停在改变颜色,所以我实现hoverEnterEvent
(和hoverLeaveEvent
):QGraphicsItem不会收到鼠标悬停事件
void MyGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent* event)
{
update (boundingRect());
}
但是,永远不会执行此事件处理程序代码。我明确地启用了鼠标跟踪功能:
MyGraphicsView::MyGraphicsView(MainView *parent) :
QGraphicsView(parent)
{
setMouseTracking(true);
viewport()->setMouseTracking(true);
...
}
仍然没有运气。我究竟做错了什么?
我有同样的问题,并且从我的'QGraphicsView'中删除'mouseMoveEvent'实现也是解决它的必要条件。现在我已经开始工作了,只要我找出一种方法让它不要吃掉'QEvent',我可以重新添加'mouseMoveEvent'。 – 2013-03-05 22:42:23
非常感谢!你刚刚结束了极大的痛苦 – 2013-08-18 16:50:05
@CoryKlein你找到了使用mouseMoveEvent和悬停事件的方法吗? – lena 2016-02-29 13:11:02