怎么将pyqt5 中 textEdit已输入的指定内容标红
时间: 2024-02-12 10:02:50 浏览: 170
您可以使用QTextEdit的setTextColor方法将指定文本设置为红色。以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTextEdit, QWidget, QVBoxLayout
from PyQt5.QtGui import QTextCharFormat, QBrush, QColor
class MyWidget(QWidget):
def __init__(self):
super().__init__()
# 创建一个QTextEdit
self.text_edit = QTextEdit(self)
self.text_edit.setText("这是一段测试文本,其中的指定内容将被标红。")
# 将指定文本标红
cursor = self.text_edit.textCursor()
cursor.movePosition(cursor.Start)
cursor.movePosition(cursor.End, cursor.KeepAnchor)
format = QTextCharFormat()
format.setBackground(QBrush(QColor("red")))
cursor.mergeCharFormat(format)
# 创建一个布局并将QTextEdit添加到该布局中
layout = QVBoxLayout(self)
layout.addWidget(self.text_edit)
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
```
这个例子中,我们首先创建了一个QTextEdit,并将一段测试文本添加到其中。然后,我们使用textCursor方法获取QTextEdit的光标,并将其移动到文本的起始位置。接着,我们将光标移动到文本的末尾,并使用KeepAnchor选项保持之前选中的文本不变。然后,我们创建一个QTextCharFormat对象,并将其背景色设置为红色。最后,我们将该格式应用于选定文本的光标。这将使指定文本变为红色。
阅读全文