我有一个QGraphicsScene
,里面有一些QGraphicsItem
。当我将鼠标悬停在QGraphicsRectItem
上时,我想立即显示重叠文字。只有当光标离开项目时,文本才会消失。
下面你可以看到我尝试使用whatsthis(崩溃的python)和工具提示。
使用工具提示,我可以立即显示文本,但文本会在内置延迟后自行消失。
class Node(QGraphicsRectItem):
def __init__(self, x, y, w, h, qpen, qbrush, text):
QGraphicsRectItem.__init__(self)
self.setRect(x, y, w, h)
self.setBrush(qbrush)
self.setPen(qpen)
self.setAcceptHoverEvents(True)
self.text = text
#self.setFlag(QGraphicsItem.ItemIsMovable)
#self.toolkit = QToolTip()
#self.setToolTip(text)
#self.setWhatsThis(self.text)
def hoverEnterEvent(self, event):
QToolTip.showText(event.screenPos(),self.text)
#print("hoverEnterEvent : {}".format(event))
#print(type(self.toolTip))
#self.QToolTip.showText(event.pos(),text)
#event.ToolTip.showText(text)
#QWhatsThis.showText(event.screenPos(),self.text)
#self.enterWhatsThisMode()
def hoverLeaveEvent(self, event):
QToolTip.hideText()
#print("hoverLeaveEvent : {}".format(event))
#self.QToolTip.hideText()
#event.ToolTip.hideText()
#QWhatsThis.hideText()
#self.leaveWhatsThisMode()
我正在使用python 3.3和pyside
答案 0 :(得分:1)
我认为this SO post和this page可能是您的答案。但正如您所指出的那样,页面底部的注释表明这仅适用于控制工具提示出现的时间,而不是可见的时间。不幸的是,错误项目的链接不再存在(另请参阅Keep Qt tooltip open)。我找到的最接近的是https://bugreports.qt-project.org/browse/QTBUG-31707,但尚未分配给任何人,这表明你要么找到一个提供你想要的东西的库,要么就是你必须实现自己的库。对于后者,您可能需要查看QxtToolTip或example