Qt 如何禁用qInfo()输出

Qt 如何禁用qInfo()输出,qt,debugging,qdebug,Qt,Debugging,Qdebug,我要运行以下代码段。其中我想看到qDebug()的结果,但我不想看到qInfo()的结果。我想在此基础上对其进行配置,所以有时我需要这些qInfo()输出,有时不需要 qInfo()<<"Info print"; qDebug()<<"Debug print"; qInfo()如上所述,您必须使用QT\u NO\u INFO\u输出编译以禁用它 #您的.pro文件 定义+=QT\u不推荐的\u警告QT\u否\u信息\u输出 也可以对其他宏使用“定义”

我要运行以下代码段。其中我想看到qDebug()的结果,但我不想看到qInfo()的结果。我想在此基础上对其进行配置,所以有时我需要这些qInfo()输出,有时不需要

    qInfo()<<"Info print";
    qDebug()<<"Debug print";
qInfo()如上所述,您必须使用
QT\u NO\u INFO\u输出编译以禁用它

#您的.pro文件
定义+=QT\u不推荐的\u警告QT\u否\u信息\u输出

也可以对其他宏使用“定义”:

qDebug()
:使用
QT\u NO\u DEBUG\u输出禁用
qInfo()
qWarning()
qCritical()
:使用
QT\u FATAL\u critical启用


您可以在运行时使用
QLoggingCategory::setFilterRules

从Qt文档中,以自定义类别为例:

QLoggingCategory::setFilterRules(QStringLiteral("driver.usb.debug=true"));
对于您的情况:

QLoggingCategory::setFilterRules(QStringLiteral("*.info=false"));
请注意使用
“*.info=true”
,因为启用所有内容,即使是分析类别通常也是禁用的