pyqt5 中 在textEdit已输入的内容 选出指定内容标红
时间: 2024-02-12 22:02:58 浏览: 16
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
你可以通过使用QTextEdit的setTextColor函数将指定内容标红。以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit
from PyQt5.QtGui import QTextCursor, QTextCharFormat, QColor
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.textEdit = QTextEdit(self)
self.setCentralWidget(self.textEdit)
# 在textEdit中插入一些文本
self.textEdit.setPlainText('hello world\nhello PyQt5\n')
# 设置指定文本的格式
cursor = self.textEdit.textCursor()
format = QTextCharFormat()
format.setForeground(QColor("red"))
cursor.setPosition(6) # 选中 "world" 这个单词
cursor.movePosition(QTextCursor.Right, QTextCursor.KeepAnchor, 5)
cursor.setCharFormat(format)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们在textEdit中插入了一些文本,并将光标移动到了需要标红的文本的开始位置。然后,我们使用`QTextCharFormat`类来定义一个格式,将文本的颜色设置为红色。最后,我们使用`QTextCursor`类的`setCharFormat`函数将选中的文本设置为指定格式,从而实现将指定内容标红的效果。
阅读全文