【发布时间】:2020-05-15 15:31:00
【问题描述】:
我试图用 QTextCursor 来解决这个问题,但显然这是不可能的。有人知道另一种方法吗?
作为一个例子,下面是一种用 QTextCursor 为单词加下划线的方法:
import sys
from PyQt5.QtCore import *
from PyQt5 import QtWidgets, QtGui, uic
def drawGUI():
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QWidget()
editBox = QtWidgets.QTextEdit(w)
text = 'THE_WORD'
editBox.setText(text)
cursor = editBox.textCursor()
format_ = QtGui.QTextCharFormat()
format_.setUnderlineStyle(QtGui.QTextCharFormat.WaveUnderline)
regex = QRegExp('\\bTHE_WORD\\b')
index = regex.indexIn(editBox.toPlainText(), 0)
cursor.setPosition(index)
cursor.movePosition(QtGui.QTextCursor.EndOfWord, 1)
cursor.mergeCharFormat(format_)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
drawGUI()
【问题讨论】:
-
你如何实现你用 QTextCursor 显示的内容?
标签: python pyqt5 qtreewidget qtextcursor