#include "mdimainwindow.h" #include #include #include #include "SARibbonBar.h" // 重定向qdebug的打印 void log_out_put(QtMsgType type, const QMessageLogContext& context, const QString& msg); /** * @brief 重定向qdebug的打印 * @param type * @param context * @param msg */ void log_out_put(QtMsgType type, const QMessageLogContext& context, const QString& msg) { QByteArray localMsg = msg.toLocal8Bit(); switch (type) { case QtDebugMsg: fprintf(stdout, "%s |[Debug] (%s[%u],%s)\n", localMsg.constData(), context.function, context.line, context.file); break; case QtWarningMsg: fprintf(stdout, "%s |[Warning] (%s[%u],%s)\n", localMsg.constData(), context.function, context.line, context.file); break; case QtCriticalMsg: fprintf(stdout, "%s |[Critical] (%s[%u],%s)\n", localMsg.constData(), context.function, context.line, context.file); break; case QtFatalMsg: fprintf(stdout, "%s |[Fatal] (%s[%u],%s)\n", localMsg.constData(), context.function, context.line, context.file); abort(); break; default: fprintf(stdout, "%s |[Debug](%s[%u],%s)\n", localMsg.constData(), context.function, context.line, context.file); break; } #ifndef QT_NO_DEBUG_OUTPUT fflush(stdout); #endif } int main(int argc, char* argv[]) { // 以下是针对高分屏的设置,有高分屏需求都需要按照下面进行设置 SARibbonBar::initHighDpi(); QApplication a(argc, argv); qInstallMessageHandler(log_out_put); QFont f = a.font(); f.setFamily(u8"微软雅黑"); a.setFont(f); QElapsedTimer cost; cost.start(); MainWindow w; qDebug() << "window build cost:" << cost.elapsed() << " ms"; w.show(); return (a.exec()); }