如何在QTextEdit游标中找到选择的起始行和结束行号?

时间:2016-12-10 17:35:58

标签: python qt pyside

我有一个显示文本行的QTextEdit小部件。我希望用户能够选择要执行的文本块。我需要确定与所选块对应的完整文本中的起始和结束行号。

editor.textCursor().blockNumber()为我提供了正确的起始行号,但我还没有找到结束位置的行号。

在行中查找选择的长度就可以了。

我正在使用PySide和Python 2.7

1 个答案:

答案 0 :(得分:1)

使用QTextCursor::selectionStartQTextCursor::selectionEnd获取阻止开始和结束位置(作为int)。

然后获取文本光标的副本,使用QTextCursor::setPosition设置这两个位置,并使用QTextCursor::blockNumber获取行号。

考虑到QTextCursor有很多方法,可能会有一个较短的方法,但这应该有效。您可能想要编写一个辅助方法,例如一个获取位置和QTextDocumentQTextCursor的方法,并返回该位置的行号。