首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Qt工具提示如何防止文本在内置延迟后消失?

Qt工具提示如何防止文本在内置延迟后消失?
EN

Stack Overflow用户
提问于 2014-01-26 04:45:30
回答 1查看 2.4K关注 0票数 1

我有一个QGraphicsScene,里面有几个QGraphicsItem,当我将鼠标悬停在QGraphicsRectItem上时,我想立即显示一个覆盖文本。只有当光标离开项目时,文本才会消失。

下面你可以看到我试过使用什么(这会使python崩溃)和工具提示。

使用工具提示,我能够使文本立即出现,但文本在内置延迟后自行消失。

代码语言:javascript
运行
复制
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

EN

回答 1

Stack Overflow用户

发布于 2014-01-27 00:12:55

我想this SO postthis page可能是你的答案。但正如你所指出的,页面底部的注释表明这只适用于控制工具提示显示的时间,而不是它保持可见的时间。不幸的是,指向bug项的链接不再存在(另请参阅Keep Qt tooltip open)。我找到的最接近的是https://bugreports.qt-project.org/browse/QTBUG-31707,它还没有分配给任何人,这意味着你要么找到一个提供你想要的东西的库,要么实现你自己的库。对于后者,您可能希望查看QxtToolTipexample

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21356035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档