我正在使用Python 2.7,pyqt库编写一个简单的文本编辑器。当用户在文本编辑器中选择单词时,我基本上想要显示单词的含义。
到目前为止,我可以检测光标下的单词,在我的字典中查找并返回含义(使用print语句),所以我知道我可以让胆量工作。
我的麻烦是在工具提示中显示单词的含义,在不到2毫秒的时间内不会消失。到目前为止,我一直在使用它:
QtGui.QToolTip.showText(QtGui.QCursor.pos(), tool_tip_text)
理想情况下,想要显示选择所在位置的含义,到目前为止,这显示工具提示如此之快,以至于我甚至无法读取光标下单词的含义。它只是立即弹出并消失。任何人都可以分享如何使工具提示保持可见至少5秒,或直到用户取消选择该单词。
我没有使用QHELPEVENT(甚至不确定如何触发helpevent)我只是在选择一个单词时调用lookup_word_in_dictionary()
函数。
非常感谢任何样品。
答案 0 :(得分:0)
您可以QSplashScreen替换QToolTip,如果您是中国人,请查看this帖子。 顺便说一下,你可以跟我一起分享你在光标下检测单词的方法吗?
答案 1 :(得分:0)
谢谢,我找到了一个解决方案,创建了自己的弹出类,从QWidget
创建了子类并使用一个简单的计时器来隐藏工具提示
QTimer.singleShot(5000, self.hide_tooltip) #check to see if the tooltip shold be hidden after 5 secs