Qt设置TextEdit一直显示最新的数据

TextEdit是我们常用的Qt控件,用来显示文本信息,当文本信息不断填入TextEdit中时,TextEdit居然没有显示最新的信息,研究之后,找到了解决方案:

//设定定时器,每秒触发一次事件,调整TextEdit光标位置
QTimer *CurrentTime = new QTimer(this);
CurrentTime->start(1000);
connect(CurrentTime,&QTimer::timeout,[=](){
        //保持编辑器光标在最后一行
        QTextCursor cursor=ui->textEditRead->textCursor();
        cursor.movePosition(QTextCursor::End);
        ui->textEdit->setTextCursor(cursor);

原理就是让TextEdit使用一个光标,该光标一直移动编辑器到最后一行,效果如图:
这里写图片描述
随着TextEdit内信息的更新,光标不断移动到最后一行

你可能感兴趣的:(QT,Qt之路)