如何在 PyQt5 中使 `textEdit.find()` 的选定文本变暗?

How to darken selected text of `textEdit.find()` in PyQt5?

我有这个方法可以在 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) 是否可以 select 找到这样的文本

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

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