如何滚动到QPlainTextEdit中的指定行?

时间:2014-11-20 09:32:00

标签: qt

假设我在变量ln中有一个行号。

int ln=25;

当我将ln传递给QPlainTextEdit时,滚动条将滚动到QPlainTextEdit中的第25行。

如何实现此功能?有人可以给我一些建议吗?我将非常感激

1 个答案:

答案 0 :(得分:7)

使用QPlaintextEdit::document获取QTextDocument

使用QTextDocument::findBlockByLineNumber获取特定行号的QTextBlock。但请记住,它从第0行开始,而不是第1行。

然后使用此QTextCursor创建QTextBlock并将其设置为QPlainTextEdit

int ln=25;
QTextCursor cursor(p_textEdit->document()->findBlockByLineNumber(ln-1)); // ln-1 because line number starts from 0
p_textEdit->setTextCursor(cursor);