这是Qt的调试输出信息,可以通过设置qInstallMessageHandler以自定义消息处理程序来关闭或重定向这些输出。
例如,可以在main.cpp中设置一个简单的消息处理程序来禁用Qt的默认消息输出:
#include <QtCore/QDebug>
void customMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
//自定义消息处理代码
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qInstallMessageHandler(customMessageHandler); // 安装自定义消息处理程序
//...
return a.exec();
}
在消息处理程序的函数中,可以使用自定义代码对所有输出进行处理。要禁用Qt的所有消息输出,可以将自定义消息处理程序设置为无操作,如下所示:
#include <QtCore/QDebug>
void customMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
//TODO: 什么都不做
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qInstallMessageHandler(customMessageHandler); // 安装自定义消息处理程序
//...
return a.exec();
}
这样就可以禁用Qt的所有消息输出了。注意,这会阻止标准输出和标准错误流中的所有消息,包括程序中可能需要的其他错误消息。