假设我在变量ln中有一个行号。
int ln=25;
当我将ln传递给QPlainTextEdit时,滚动条将滚动到QPlainTextEdit中的第25行。
如何实现此功能?有人可以给我一些建议吗?我将非常感激
答案 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);