python - 如何在 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)
可以像这样选择找到的文本
解决方案
您必须更改与 QPalette::Highlight 关联的颜色:
p = self.textedit.palette()
p.setColor(qtg.QPalette.Highlight, QColor("blue"))
self.textedit.setPalette(p)
推荐阅读
- python - PyCharm IDE Python 控制台:执行多行命令而不在最后一个位置按 *enter*
- oracle - 需要根据表数据值获取行数
- node.js - GraphQL 错误:无法在类型“y”上查询字段“x”
- javascript - 如何让事件监听器只触发一次?
- java - 第一行发生的事情 - 选项卡功能
- amazon-web-services - AWS SNS:处理没有人订阅的主题
- spring - 使用 gradle 生成 Schema
- terminal - 与 ansible-vault 一起使用时,less 行为“奇怪”
- c# - 如何通过 API 响应传递模拟数据
- python - 使用numpy优化水平和垂直邻接的计算