如何在Qt中显示工具提示

时间:2009-12-03 15:19:31

标签: qt tooltip

我正在使用Qt4.5编写一个程序,用另一种语言显示一本书。所以我有大量的文本,我想为每个单词显示不同的工具提示(工具提示将包含适当单词的解析信息)。

这样做的最佳方式是什么?

我有一个使用php和jquery的浏览器的工作解决方案,所以我考虑将它以某种方式移植到c ++并使用QWebView显示它但我觉得那里有更好的解决方案......

[编辑] 让我补充一点,我在数据库中显示单词,所以我有一个如下所示的数据库:

| Id | Word | ParsingInfo                  |
--------------------------------------------
|  0 | The  | Article                      |
|  1 | fish | Noun, Subject etc.           |
|  2 | are  | Verb, 3rd Person Singular... |
|  3 | blue | Adjective...                 |

因此,我需要一些方法来确定所显示的单词的id是什么,而不仅仅是单词,因为,例如,“that”这个词可以以不同的方式使用,或者“wind”具有同形词(我正在使用的语言是希腊文。)

2 个答案:

答案 0 :(得分:4)

来自QToolTip文档:

  

设置小部件工具提示的最简单和最常用的方法是调用其QWidget :: setToolTip()函数。

     

通过使用QEvent :: ToolTip类型的QHelpEvent,还可以为窗口小部件的不同区域显示不同的工具提示。截取窗口小部件的event()函数中的帮助事件,并使用要显示的文本调用QToolTip :: showText()。 Tooltips示例说明了这种技术。

获得帮助事件时,您必须确定光标下的单词。我不知道如何做到这一点,但我确信有一些方法。

答案 1 :(得分:3)

如果您只使用简单的HTML,则可以切换到QTextBrowser。然后使用cursorForPosition方法获取QTextCursor,您可以从中获取当前位置的文本。