[英]Custom Qt QGraphicsItem tooltip
我正在寻找一些方法来为QGraphicsItem
实现一个简单的自定义工具提示。
我知道我可以使用setToolTip
来设置工具提示的文本。 现在我想要的是当鼠标悬停在QGraphicsItem
对象的不同部分时动态更改文本。
我想做的是当我收到一个事件QEvent::ToolTip
,我会更改该事件处理程序中的工具提示文本。 但是,我找不到为QGraphicsItem
接收QEvent::ToolTip
的事件函数。
或者是否有一些方法可以处理鼠标悬停 2 秒的事件。
我怎样才能做到?
您可以在派生的QGraphicsItem
类中实现hoverMoveEvent
,并根据图形项中的位置设置工具提示
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");
}
请注意,您必须为您的项目 启用悬停事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.