Qt中QTextBrowser有序显示接收到的字符串

时间:2020-12-03 23:41:54

在QTextBrowser控件如果使用append()函数进行字符串显示,容易造成显示分段错误,例如单词“move”可能被拆成“mov”和“e”两行而用下面的函数则没有这种现象

    QByteArray requestData;
QString strDisplay;
if(my_serialport->bytesAvailable()>=1)
{
requestData = my_serialport->readAll();
strDisplay = QString(requestData);
ui->textBrowser_Receive->insertPlainText(strDisplay);

这个是串口接收函数,用insertPlainText()函数可以使串口数据正常显示,此外在该控件每个显示字符串的操作下面增加一行代码,这样使该控件自动对焦在最后一行

ui->textBrowser_Receive->moveCursor(QTextCursor::End);//接收框始终定为在末尾一行