如何在QPlainTextEdit小部件中突出显示整行文本?

时间:2017-08-25 16:08:05

标签: python qt pyqt pyside

我使用QPlainTextEdit创建了一个小编辑器,我希望能够突出显示整行文本,以显示哪一行有错误。

我可以格式化文本,但我无法解决如何将光标位置设置为指定行上文本的开始和结束位置。

此代码段显示了我所处的位置:

editor = QtGui.QPlainTextEdit()

fmt = QtGui.QTextCharFormat()
fmt.setUnderlineColor(Qt.red)
fmt.setUnderlineStyle(QtGui.QTextCharFormat.SpellCheckUnderline)

# I'd like these values to encompass the whole of say, line 4 of the text
begin = 0 
end = 5

cursor = QtGui.QTextCursor(editor.document())
cursor.setPosition(begin, QtGui.QTextCursor.MoveAnchor)
cursor.setPosition(end, QtGui.QTextCursor.KeepAnchor)
cursor.setCharFormat(fmt)

我可以从行号中计算出光标突出显示的起点和终点吗?

1 个答案:

答案 0 :(得分:2)

感谢Ekrumoro,我设法让这个工作如下:

Error: tigased not started