我正在寻找一些方法来为QGraphicsItem
实现简单的自定义工具提示。
我知道我可以使用setToolTip
为工具提示设置文字。现在我想要的是当鼠标悬停在QGraphicsItem
对象的不同部分时动态更改文本。
我想要做的是当我收到事件QEvent::ToolTip
时,我更改了该事件处理程序中的工具提示文本。但是,我找不到为QEvent::ToolTip
收到QGraphicsItem
的事件函数。
或者是否有一些方法可以处理鼠标悬停2秒的事件。
我该怎么做?
答案 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。