#define QT_NO_DEBUG_OUTPUT #include <QCoreApplication> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 你的代码 return a.exec(); } 但请注意,直接在代码中定义QT_NO_DEBUG_OUTPUT可能不会有预期的效果,因为这通常需要Qt内部的处理来识别并据此减少调试输出。更...
#ifdefined(QT_NO_DEBUG_OUTPUT)#undefqDebug#defineqDebug QT_NO_QDEBUG_MACRO#endif 可以看到,当定义了QT_NO_DEBUG_OUTPUT宏时,Qt 首先取消先前的qDebug宏定义,然后将其重新定义为QT_NO_QDEBUG_MACRO宏: #defineQT_NO_QDEBUG_MACRO while (false) QMessageLogger().noDebug QT_NO_QDEBUG_MACRO宏定义了...
一、修改qt项目pro配置文件 确保调试模式时,取消QT_NO_DEBUG_OUTPUT宏定义 CONFIG(debug, debug|release){ DEFINES -= QT_NO_DEBUG_OUTPUT } else{ DEFINES += QT_NO_DEBUG_OUTPUT } 二、设置是否允许输出调试信息 设置允许输出调试信息。 QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);...
(1)如果开始已经编译了工程,然后再加上DEFINES += QT_NO_DEBUG_OUTPUT在.pro文件中 需要clean工程,否则qDebug()还是可以输出。clean工程之后,qDebug()就不输出了。
可以看到,在使用 nospace() 后,输出的项之间没有额外的空格。 DEFINES+= QT_NO_DEBUG_OUTPUT: 在Qt 项目文件(.pro 文件)中,可以通过添加 DEFINES+= QT_NO_DEBUG_OUTPUT 来禁用所有的 Qt 调试输出。 这意味着,不仅仅是 qDebug(),还有其他 Qt 的调试输出函数也都不会在调试模式下输出任何内容。
qDebug()写太嗨了,满屏都是调试信息怎么办?如何快速关闭调试信息的输出呢?方法:在pro文件中加上DEFINES += QT_NO_DEBUG_OUTPUT 然后重新构建一下程序。qDebug的信息就不再输出了,不过qWarning、qCritical等信息仍然可以输出。类似的宏还有:QT_NO_INFO_OUTPUT QT_NO_WARNING_OUTPUT 特别说明:若后续发现文章...
例如,我们可以创建一个名为myMessageOutput的函数,用于处理输出信息,并将它安装为消息处理程序。在该函数中,我们可以使用QString::asprintf函数来设置输出信息的格式,例如添加时间戳、文件名和行号等。 示例代码如下: #include <QtDebug>void myMessageOutput(QtMsgType type, const QMessageLogContext& context, const...
Qt程序中调试会加入qDebug语句,但有时候想屏蔽掉,用下面的方法很方便实现。 在Qt项目文件添加以下定义: 屏蔽qInfo() DEFINES += QT_NO_INFO_OUTPUT 屏蔽qDebug() DEFINES += QT_NO_DEBUG_OUTPUT 屏蔽qWarning()…
DEFINES += QT_NO_DEBUG_OUTPUT Q_FUNC_INFO 函数所属类和参数信息。 // 打印函数所属类和参数信息 qDebug() << Q_FUNC_INFO << “this is a debug example”; Q_UNUSED(valuename) 用于函数中未使用的变量,告诉编译器这个变量不需要告警。另外,也可以在 pro 文件添加如下代码屏蔽未使用的告警: ...
re: Qt:禁止qDebug的输出 Qt:禁止qDebug的输出 在工程的.pro文件里加上以下编译批令即可: DEFINES += QT_NO_DEBUG_OUTPUT 原来如此,以后就省的把每条qDebug都注释掉了。。。