1
我有一個QGraphicsScene
和裏面我有幾個QGraphicsItem
s。當我將鼠標懸停在QGraphicsRectItem
上時,我想立即顯示重疊文本。只有當光標離開物品時,文字纔會消失。Qt工具提示如何防止內置延遲後文本消失?
下面你可以看到我嘗試使用whatsthis(它崩潰的python)和tooltip。
使用工具提示,我可以使文本立即顯示,但文本在內置延遲後自行消失。
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
這可能是http://stackoverflow.com/questions/13720465/how-to-change-the-time-delay-before-a- qtooltip-節目。還要看看[本頁](http://qt-project.org/faq/answer/how_can_i_change_the_timeout_period_for_a_qtooltip)對於Qt,應該很容易適應你的情況。 – Schollii
@Schollii:不幸。正如我所提到的,這個答案解決了文本顯示的延遲問題。但是,它並沒有解決10秒後工具提示消失的事實。看看你的第二個鏈接中的評論。 – Lazik
良好的觀察,我很驚訝,很難找到提供了一個自定義的彈出窗口小部件的lib,添加了與其他鏈接的答案,也許有用。 – Schollii