《QDebug 2021年3月》

一、Qt Widgets 问题交流

1.

二、Qt Quick 问题交流

1.

三、其他

1.QMessageLogContext 在 release 版本输出文件、函数名、行号等信息

在release模式下,Qt日志的QMessageLogContext默认是不带文件、函数名、行号等信息的,可以在 pro 文件加上:

DEFINES += QT_MESSAGELOGCONTEXT

然后,重新qmake,编译,就可以在release版本中正确输出日志信息。可能需要清理、删除下之前生成的文件才生效。

2.qDebug输出格式化

参照文档:https://doc.qt.io/qt-5/qtglobal.html#qSetMessagePattern

参照博客:http://www.cppblog.com/biao/archive/2013/09/02/202956.html

《QDebug 2021年3月》

也可以使用条件 %{if-debug},%{if-info}, %{if-warning},%{if-critical}或%{if-fatal}后跟%{endif},当条件匹配时中间包含的内容才打印。

    QString QT_MESSAGE_PATTERN=
            "[%{if-debug}D%{endif}%{if-warning}W%{endif}%{if-critical}C%{endif}%{if-fatal}F%{endif}]"
            ": %{file}:%{line} - %{message}";
    qSetMessagePattern(QT_MESSAGE_PATTERN);
    qDebug() << "Hello Qt";
    qWarning() << QString("龚建波 1992").toUtf8().toHex();

《QDebug 2021年3月》

上一篇:面试准备每日五题:C++——变量定义&声明、#ifdef & #else、结构体赋值、sizeof & strlen、C和C++的static


下一篇:citect2018页面日期时间显示美化