首页 > 解决方案 > 如何在 PyQt5 中使 `textEdit.find()` 的选定文本变暗?

问题描述

我有这种方法可以在 textEdit 中找到一个术语:

def search(self, term, case_sensitive=False):
    self.textedit.moveCursor(qtg.QTextCursor.Start)
    if case_sensitive:
        cur = self.textedit.find(
            term,
            qtg.QTextDocument.FindCaseSensitively
        )
    else:
        cur = self.textedit.find(term)
    if not cur:
        self.statusBar().showMessage('No matches Found', 2000)

现在该功能可以正常工作,但textedit.find(term)似乎只是轻轻突出显示找到的文本,如下所示

我的问题是是否textedit.find(term)可以像这样选择找到的文本

标签: pythonpyqt5highlightqtextedit

解决方案


您必须更改与 QPalette::Highlight 关联的颜色:

p = self.textedit.palette()
p.setColor(qtg.QPalette.Highlight, QColor("blue"))
self.textedit.setPalette(p)

推荐阅读