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

Posted DS小龙哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT软件开发: QPlainTextEdit当做日志显示窗口相关的知识,希望对你有一定的参考价值。

一般软件调试的时候,可以使用QPlainTextEdit当做日志显示界面,程序里所有的打印数据都可以通过QPlainTextEdit显示,可以做一个方便接口:设置QPlainTextEdit为只读模式,每次最新的数据插入到最后,并且每次显示也是最新一行。

核心代码:

/*日志显示*/
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());
    }
}

以上是关于QT软件开发: QPlainTextEdit当做日志显示窗口的主要内容,如果未能解决你的问题,请参考以下文章

Qt中的QLineEdit,QTextEdit和QPlainTextEdit的区别

Qt5 QPlainTextEdit怎么设置背景颜色和文字的颜色

从 QPlainTextEdit 子类化的 Qt 小部件中的代码折叠?

QT软件开发之基础控件--2.4.5 plainTextEdit文本编辑器

如何为 QPlainTextEdit 设置文本?

使用 QPlainTextEdit 绘制 QGraphicsProxyWidget 的工件