我通过编写
来禁用qDebug()消息CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
<。>在.pro文件中。这很好用。我想知道是否有任何方法可以使用源代码启用qDebug()消息。我想将它作为参数发送给应用程序。因此,默认情况下,我将禁用qDebug()消息,但是如果参数声明要打开qDebug()消息,则需要启用qDebug()。有可能这样做吗?
感谢任何帮助
答案 0 :(得分:9)
您可以通过以下几个选项在运行时控制QDebug(以及所有消息):
<fieldNames hint="raw:AddFieldByFieldName">
打开qDebug,除了USB调试之外的所有内容。如果您需要更复杂的设置,或者如果您使用的是Qt 5.5或更早版本,则可以通过qtlogging.ini文件打开和关闭各个调试消息。答案 1 :(得分:8)
您可以添加自己的函数来处理qInstallMsgHandler
的Qt调试消息这将允许您控制是否打印消息。
答案 2 :(得分:0)
将此代码添加到启用了qDebug()消息的qmake项目文件中,以便在Windows / MSYS上发布版本,即使没有qInstallMsgHandler():
CONFIG += console
CONFIG += warn_on