使用PySide/PyQT,我需要为QLineEdit中输入的文本添加一些语法高亮显示。我需要强调具体的关键词。在
我在下面看到了一个例子,上面介绍了如何在C++中实现这一点,但是我想用Python来做。(尝试从C++到Python,但不能得到……)有人有建议如何在Python中这样做吗?谢谢。在
How can I change color of part of the text in QLineEdit?
更多信息:
目前,我正在更改整个QLineEdit的颜色,如下所示:
for dupLineEd in duplicates[1]:
dupLineEd.setStyleSheet("QLineEdit{color:Khaki}")
这并不理想。我需要做的是确定QLineEdit中的某些单词是否满足条件(在本例中,它们是否是另一个QLineEdit中某个单词的重复项),如果是,则只在QLineEdit中以颜色高亮显示该单词,而不是整个QLineEdit。这种高亮显示需要在用户键入时实时完成,这样,例如,当用户完成一个单词时,如果该单词满足条件,则该单词将变为黄色。QLineEdit中的其余文本不会更改颜色。在
提前感谢任何可能有任何建议的人!在
到目前为止,我能找到的最好的解决方法是创建一个新的qtextedt类,它的行为(部分)类似于QLineEdit。在
现在,我借用了一个与QTextEdit一起工作的highlighter类,由igor bogomolov编写,发布在github上: https://github.com/pyside/Examples/blob/master/examples/richtext/syntaxhighlighter/syntaxhighlighter.py
我得到的函数代码如下。(您需要根据您的环境定义主窗口。)
这能完成工作,但我不太满意,感觉很笨拙。我仍然希望找到如何用QLineEdit实现这种高亮显示。在
相关问题 更多 >
编程相关推荐