一般软件调试的时候,可以使用QPlainTextEdit当做日志显示界面,程序里所有的打印数据都可以通过QPlainTextEdit显示,可以做一个方便接口:设置QPlainTextEdit为只读模式,每次最新的数据插入到最后,并且每次显示也是最新一行。
核心代码:
代码语言:javascript复制/*日志显示*/
void Widget::Log_Text_Display(QString text)
{
QPlainTextEdit *plainTextEdit_log=ui->plainTextEdit;
//设置只读
if(!plainTextEdit_log->isReadOnly())
{
plainTextEdit_log->setReadOnly(true);
}
//设置光标到文本末尾
plainTextEdit_log->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);
//当文本数量超出一定范围就清除
if(plainTextEdit_log->toPlainText().size()>1024*4)
{
plainTextEdit_log->clear();
}
plainTextEdit_log->insertPlainText(text);
//移动滚动条到底部
QScrollBar *scrollbar = plainTextEdit_log->verticalScrollBar();
if(scrollbar)
{
scrollbar->setSliderPosition(scrollbar->maximum());
}
}