显示所选单词的工具提示



我正在使用Python2.7,pyqt库编写一个简单的文本编辑器。当用户在文本编辑器中选择单词时,我基本上想显示单词的含义。

到目前为止,我可以检测到光标下的单词,在字典中查找并返回其含义(使用打印语句),这样我就知道我有勇气工作了。

我的问题是在工具提示中显示这个词的含义,而这个词在不到2毫秒的时间内不会消失。到目前为止,我一直在使用这个:

QtGui.QToolTip.showText(QtGui.QCursor.pos(), tool_tip_text)

理想情况下,希望在进行选择的地方显示含义,到目前为止,这会快速显示工具提示,以至于我甚至无法阅读光标下单词的含义。它只是突然出现并几乎立即消失。任何人都可以分享如何使工具提示保持可见至少5秒,或者直到用户取消选择单词。

我没有使用QHELPEVENT(甚至不太确定帮助事件是如何触发的),我只是在选择了一个单词后调用我的lookup_word_in_dictionary()函数。

非常感谢任何样品。

谢谢,我找到了一个解决方案,创建了我自己的弹出类,从QWidget 子类

并使用一个简单的计时器来隐藏工具提示

QTimer.singleShot(5000, self.hide_tooltip)   #check to see if the tooltip shold be hidden after 5 secs

你可以用QSplashScreen代替QToolTip,如果你是中国人,请看这篇文章。顺便说一句,你能和我分享一下你在光标下检测单词的方法吗?

最新更新