gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:24:10 25 4
gpt4 key购买 nike

我使用 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)

我可以仅根据行号计算出光标要突出显示的起点和终点吗?

最佳答案

感谢 Ekrumoro,我设法让这个工作像这样:

editor = QtGui.QPlainTextEdit()

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

block = editor.document().findBlockByLineNumber(line)
blockPos = block.position()

cursor = QtGui.QTextCursor(editor.document())
cursor.setPosition(blockPos)
cursor.select(QtGui.QTextCursor.LineUnderCursor)
cursor.setCharFormat(fmt)

关于python - 如何在 QPlainTextEdit 小部件中突出显示整行文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45885470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com