自定义Qt QGraphicsItem工具提示

时间:2016-04-19 06:33:52

标签: c++ qt

我正在寻找一些方法来为QGraphicsItem实现简单的自定义工具提示。

我知道我可以使用setToolTip为工具提示设置文字。现在我想要的是当鼠标悬停在QGraphicsItem对象的不同部分时动态更改文本。

我想要做的是当我收到事件QEvent::ToolTip时,我更改了该事件处理程序中的工具提示文本。但是,我找不到为QEvent::ToolTip收到QGraphicsItem的事件函数。

或者是否有一些方法可以处理鼠标悬停2秒的事件。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以在派生的QGraphicsItem课程中实施hoverMoveEvent,并根据图片资料中的位置实施set the tooltip

void MyItem::hoverMoveEvent(QGraphicsSceneHoverEvent* event)
{
    QPointF p = event->pos(); 
    // use p.x() and p.y() to set the tooltip accrdingly, for example:
    if (p.y() < height()/2)
        setTooltip("Upper Half");
    else
        setTooltip("Bottom Half");
}

请注意,您的商品必须enable hover events