首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启用和禁用qDebug()消息

如何启用和禁用qDebug()消息
EN

Stack Overflow用户
提问于 2015-02-16 19:36:48
回答 3查看 27.4K关注 0票数 20

我通过编写以下代码禁用qDebug()消息

代码语言:javascript
复制
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT

在.pro文件中。这可以很好地工作。我想知道是否有任何方法可以使用源代码启用qDebug()消息。我想把它作为参数发送给应用程序。因此,在默认情况下,我将禁用qDebug()消息,但是使用一个参数声明要打开qDebug()消息,我需要启用qDebug()。有可能做到这一点吗?

任何帮助我们都将不胜感激

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-16 19:50:28

您可以使用qInstallMsgHandler添加自己的函数来处理Qt调试消息

这将允许您控制是否打印消息。

票数 11
EN

Stack Overflow用户

发布于 2016-09-22 06:26:21

您可以通过以下几个选项在运行时控制QDebug (和所有消息):

  1. QLoggingCategory,它允许您使用环境变量或配置文件。例如,在Qt5.6中,你可以这样做:除了QT_LOGGING_RULES="*.debug=false;driver.usb.debug=true"调试之外,qDebug打开了所有的东西。如果您需要更复杂的设置,或者如果您使用的是Qt5.5或更早版本,则可以通过file.
  2. QT_MESSAGE_PATTERN打开和关闭单独的调试消息。还可以使用formatting.

和qtlogging.ini来控制消息输出

票数 14
EN

Stack Overflow用户

发布于 2019-12-12 18:00:07

将此代码添加到我的qmake项目文件中,即使没有qInstallMsgHandler(),也可以为Windows/MSYS上的发布版本启用qDebug()消息:

代码语言:javascript
复制
CONFIG += console
CONFIG += warn_on
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28540571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档