对于Python3 / PyQt4项目,我正在寻找改变QTextEdit对象中几个单词的文本外观的最快方法。文本不是用HTML编写的(它是纯文本字符串),是只读的,由几个单词组成。每个单词都在我的代码中定义了一个特殊的“属性”,定义了这个单词悬停时的外观。 当其中一个单词悬停时,必须更改共享相同属性的所有单词的外观。
我需要速度:
任何帮助将不胜感激!
更多细节:
我可以看到实现目标的两种方法:
(1)在编辑器中写下我的文字,检测鼠标“飞过”哪个单词,让其他单词突出显示,痛苦地逐个选择它们,插入一些HTML代码修改它们的外观。这是痛苦部分,我发现太复杂和太慢了:有没有最快的方法来做到这一点?
(2)将我的文本编写为HTML文本并使用CSS,因为QTextEditor可以使用它们。唉,easy way不起作用。但也许有可能“重新加载”文本的CSS并使用更聪明的技巧?
答案 0 :(得分:0)
我想知道甚至可以从QTextEdit获取鼠标光标下的单词。
你说文本无法编辑,所以我可能QTextEdit不是这项工作最好的小部件。创建自己的小部件并自己绘制文本。然后你知道单词的位置,所以在鼠标下找到这个单词很容易。当某些属性被激活或停用时,您只能重绘受影响的单词。