我有一个显示文本行的QTextEdit小部件。我希望用户能够选择要执行的文本块。我需要确定与所选块对应的完整文本中的起始和结束行号。
editor.textCursor().blockNumber()
为我提供了正确的起始行号,但我还没有找到结束位置的行号。
在行中查找选择的长度就可以了。
我正在使用PySide和Python 2.7
答案 0 :(得分:1)
使用QTextCursor::selectionStart
和QTextCursor::selectionEnd
获取阻止开始和结束位置(作为int
)。
然后获取文本光标的副本,使用QTextCursor::setPosition
设置这两个位置,并使用QTextCursor::blockNumber
获取行号。
考虑到QTextCursor
有很多方法,可能会有一个较短的方法,但这应该有效。您可能想要编写一个辅助方法,例如一个获取位置和QTextDocument
或QTextCursor
的方法,并返回该位置的行号。