Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Qt中显示工具提示_Qt_Tooltip - Fatal编程技术网

如何在Qt中显示工具提示

如何在Qt中显示工具提示,qt,tooltip,Qt,Tooltip,我正在用Qt4.5编写一个程序,用另一种语言显示一本书。因此,我有大量的文本,我想为每个单词显示不同的工具提示(工具提示将包含相应单词的解析信息) 这样做的最佳方式是什么 我有一个使用PHP和jQuery的浏览器的工作解决方案,所以我已经考虑过将它移植到C++中,并使用QWebVIEW显示它,但是我感觉到有更好的解决办法…… [编辑] 让我补充一下,我显示了数据库中的单词,因此我有一个如下所示的数据库: | Id | Word | ParsingInfo | -

我正在用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”有一个同形词(尽管我使用的语言是希腊语)。

来自文档:

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

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


当您获得帮助事件时,必须确定光标下的单词。我不知道该怎么做,但我肯定有办法。

如果你只使用简单的HTML,你可以切换到。然后使用该方法获取一个QTextCursor,从中可以获取当前位置的文本。

谢谢,这是我正在努力解决的问题-找出光标下的单词…这看起来很有趣,谢谢,我该如何获取单词的Id?@j3frea:使用QTextEdit或QTextBrowser,可以使用QTextBlocks构建字符串。每个块(在您的情况下是一个单词)都能够存储用户数据(您的ID)。然后,这里提到的cursorForPosition函数可以获得一个QTextCursor,它为它所在的块返回一个QTextBlock,您可以从中获得用户数据(ID)。不过,这有点复杂。