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