隐藏terminal上打印的所有QT应用程序警告?

当我运行一个QT应用程序,我收到警告消息。

$ ./TestLauncher QSystemTrayIcon::setVisible: No Icon set QMetaObject::connectSlotsByName: No matching signal for on_Save_clicked() QMetaObject::connectSlotsByName: No matching signal for on_CancelButton_clicked() ... 

我只想隐藏应用程序运行时打印在terminal上的所有警告

使用QT_NO_WARNING_OUTPUT宏。 请参阅Qt调试文档

以及我没有找到任何QT函数,所以我已重定向的应用程序的输出,但现在的缺点是,它会隐藏非QT警告。

 freopen( "/dev/null", "w", stdin ); freopen( "/dev/null", "w", stdout ); freopen( "/dev/null", "w", stderr );