Revision control
++ // Copyright (C) 2026 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ #include <QtGui/qguiapplication.h>
++ #include <QtQml/qqmlapplicationengine.h>
++
++ void hideNonCriticalLogs(QtMsgType type, const QMessageLogContext &context, const QString &msg)
++ {
++ QByteArray localMsg = msg.toLocal8Bit();
++ const char *file = context.file ? context.file : "";
++ const char *function = context.function ? context.function : "";
++ switch (type) {
++ case QtDebugMsg:
++ case QtInfoMsg:
++ case QtWarningMsg:
++ // Ignore
++ break;
++ case QtCriticalMsg:
++ fprintf(stderr,
++ "Critical: %s (%s:%u, %s)\n",
++ localMsg.constData(),
++ file,
++ context.line,
++ function);
++ break;
++ case QtFatalMsg:
++ fprintf(stderr,
++ "Fatal: %s (%s:%u, %s)\n",
++ localMsg.constData(),
++ file,
++ context.line,
++ function);
++ break;
++ }
++ }
++
++ int main(int argc, char *argv[])
++ {
++ QGuiApplication app(argc, argv);
++
++ // Comment out when debugging
++ qInstallMessageHandler(hideNonCriticalLogs);
++
++ QQmlApplicationEngine engine;
++ QObject::connect(
++ &engine,
++ &QQmlApplicationEngine::objectCreationFailed,
++ &app,
++ []() { QCoreApplication::exit(-1); },
++ Qt::QueuedConnection);
++ engine.loadFromModule("AerospaceHubExample", "Main");
++
++ return app.exec();
++ }