我有一个派生自 的类QGraphicsView
,其中包含 -QGraphicsItem
派生元素。我希望这些元素在鼠标光标悬停在它们上方时改变颜色,所以我实现了hoverEnterEvent
(和hoverLeaveEvent
):
void MyGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent* event)
{
update (boundingRect());
}
但是,此事件处理程序代码永远不会执行。我已明确启用鼠标跟踪:
MyGraphicsView::MyGraphicsView(MainView *parent) :
QGraphicsView(parent)
{
setMouseTracking(true);
viewport()->setMouseTracking(true);
...
}
尽管如此,还是没有运气。我究竟做错了什么?