3

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

到目前为止,我可以检测到光标下的单词,在我的字典中查找它并返回含义(使用打印语句),所以我知道我可以让胆量工作。

我的麻烦是在工具提示中显示该单词的含义,该工具提示不会在 2 毫秒内消失。到目前为止,我一直在使用这个:

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

理想情况下,希望在选择的位置上显示含义,到目前为止,它显示工具提示的速度如此之快,以至于我什至无法阅读光标下单词的含义。它几乎立即弹出并消失。任何人都可以分享如何使工具提示保持可见至少 5 秒,或者直到用户取消选择该单词。

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

任何样品都非常感谢。

4

2 回答 2

1

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

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

QTimer.singleShot(5000, self.hide_tooltip)   #check to see if the tooltip shold be hidden after 5 secs
于 2014-03-15T10:17:49.167 回答
0

你可以用 QSplashScreen 替换 QToolTip 如果你是中国人,请看这个帖子。BTW,能分享一下你检测光标下的单词的方法吗?

于 2014-03-08T10:41:08.293 回答