QT软件开发: QPlainTextEdit当做日志显示窗口

2022-01-12 10:29:36 浏览数 (1)

一般软件调试的时候,可以使用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());
    }
}

0 人点赞