您可以使用 qInstallMsgHandler() 来捕获 Qt 的错误消息。在此处查看文档:http: //doc.qt.io/archives/qt-4.7/qtglobal.html
我抄送文档中的示例。您可以轻松修改它以在用户界面中显示这些消息。
void myMessageOutput(QtMsgType type, const char *msg)
{
switch (type) {
case QtDebugMsg:
fprintf(stderr, "Debug: %s\n", msg);
break;
case QtWarningMsg:
fprintf(stderr, "Warning: %s\n", msg);
break;
case QtCriticalMsg:
fprintf(stderr, "Critical: %s\n", msg);
break;
case QtFatalMsg:
fprintf(stderr, "Fatal: %s\n", msg);
abort();
}
}
int main(int argc, char **argv)
{
qInstallMsgHandler(myMessageOutput);
QApplication app(argc, argv);
...
return app.exec();
}
注意:在 Qt 5.0 中它已被弃用。请改用 qInstallMessageHandler()。