Qt调试信息重定向输出(qInstallMessageHandler)
由于工具需要,做了一小段Qt5测试代码,参考了网友的案例测试了以下功能
1 qDebug()重定向输出QT窗口
2 qDebug()信息保存到本地文件
QtMessageHandler qInstallMessageHandler(QtMessageHandler handler)
此函数在使用Qt消息处理程序之前已定义。返回一个指向前一个消息处理程序。
消息处理程序是一个函数,用于打印qDebug,qWarning,qCritical和qFatal的错误消息。Qt库(调试模块)包含成百上千的警告信息,打印时(通常是无效的函数参数)发生内部错误。Qt构建在release模式下还包含一些除了QT_NO_WARNING_OUTPUT和/或QT_NO_DEBUG_OUTPUT之外的警告已经设置在编译。如果你实现自己的消息处理程序,需要完全控制这些消息。
在X11或Windows下的调试器,缺省的消息处理程序向标准输出打印消息。如果这是一个致命的消息,应用程序立即中止。
只有一个消息处理程序可以被定义,因为这通常是在应用程序的基础上完成控制调试输出。
恢复消息处理程序,调用qInstallMessageHandler(0)。
注意:
QT4: qInstallMsgHandler()
QT5: qInstallMessageHandler()
参考1: https://www.cnblogs.com/wyuzm/p/9580447.html
参考2: https://blog.csdn.net/lbsljn/article/details/73804445?utm_source=blogxgwz0
TextBrower常用窗口组件说明:https://www.xuebuyuan.com/3179243.html
https://forum.qt.io/topic/68873/how-to-navigate-qplaintextedit-qtextbrowser
1 MainWindow::MainWindow(QWidget *parent) : 2 QMainWindow(parent), 3 ui(new Ui::MainWindow) 4 { 5 ui->setupUi(this); 6 ui->pushButton->setText("新窗口"); //将界面上按钮的显示文本更改为“新窗口” 7 }