pyqt5在多行文本框寻找指定字符串,并改变字体颜色

#搜索文本框中特定的字符串并改变为红色 
def search(self,edit,search_str):
	document = QTextDocument()
	document = edit.document()
	highlight_cursor = QTextCursor(document)
	cursor = QTextCursor(document)
	cursor.beginEditBlock()
	color_format = QTextCharFormat(highlight_cursor.charFormat())
	color_format.setForeground(Qt.red)
	while (not highlight_cursor.isNull()) and (not highlight_cursor.atEnd()):
		highlight_cursor = document.find(search_str,highlight_cursor)
		if not highlight_cursor.isNull():
			highlight_cursor.mergeCharFormat(color_format)
	cursor.endEditBlock()

该方法的参数 edit 为多行文本框控件,search_str 为需要进行搜索的字符串。
这种方法主要是通过获取多行文本框的光标,然后使用光标遍历多行文本框的所有内容,然后寻找字符串改变颜色。

你可能感兴趣的:(PyQt5)