QGraphicsItem 和悬停事件

Jar*_*ing 0 qt mousehover

我已经重新实现了 hoverEnterEvent 但由于某种原因它没有被调用 :-( 我的方法在这一点上非常简单:

void LinteItem::hoverEnterEvent(QGraphicsSceneHoverEvent * event) {

    qDebug("Mouse hovered");
    QGraphicsItem::hoverEnterEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

我在视图上设置了 mouseTracking。我可以使用 mouseMove 等放置新的 LinteItems,所以我知道跟踪工作。

我在构造函数中有以下内容:

setFlags(QGraphicsItem::ItemIsSelectable |
             QGraphicsItem::ItemIsMovable |
             QGraphicsItem::ItemSendsGeometryChanges);     
setAcceptHoverEvents(true);
Run Code Online (Sandbox Code Playgroud)

知道为什么我没有收到事件吗?我正在使用 Qt 5.5 顺便说一句

Ore*_*era 5

例如,如果您的覆盖自定义QGraphicsView鼠标事件处理程序调用基类的原始处理程序,它应该可以工作

void CustomGraphicsView::mouseMoveEvent(QMouseEvent *event)
{
    // do something...

    // send the event to graphics scene and items
    QGraphicsView::mouseMoveEvent(event);
}
Run Code Online (Sandbox Code Playgroud)