问题描述
QTextEdit 用于显示多行文字或段落结构的文字,可以显示富文本(Rich Text) 和纯文本(Plain Text) 在使用其方法 setText 设置文本时
ui->textEdit->setText("very"
"looooooooonnnn"
"nnnnng "
"text");
如果设置过长的内容,则运行时 QTextEdit 控件视图会向下滚动,由于内部设置会实时更新到最新的文字,也就是显示到最后一句话的位置,不会自动回滚到顶部,如果需要其显示第一行的文字,则需要手动设置
解决方法
QTextEdit 继承自 QAbstractScrollArea。 QAbstractScrollArea 类提供访问垂直滚动条的方法
verticalScrollBar();
因此,跳转到顶部,方法如下:
ui->textEdit->verticalScrollBar()->setValue(0);
以及,跳转到底部:
ui->textEdit->verticalScrollBar()->setValue(ui->textEdit->verticalScrollBar()->maximum());
QPlainTextEdit 控件用于显示纯文本,同样也继承了 QAbstractScrollArea,因此可以用相同的方法设置回滚到顶部。