FluentUI/.template/main.cpp.in
yxdy a44db97aa3
Some checks failed
Gallery App Build / Windows (push) Has been cancelled
Gallery App Build / macOS (push) Has been cancelled
Gallery App Build / Ubuntu (push) Has been cancelled
init
2025-02-12 10:31:20 +08:00

38 lines
1.2 KiB
C++

#include "AppInfo.h"
#include "Log.h"
#include <QGuiApplication>
#include <QProcess>
#include <QQmlApplicationEngine>
#include <QQmlContext>
#include <QQuickWindow>
#include <QtQml/qqmlextensionplugin.h>
#ifdef FLUENTUI_BUILD_STATIC_LIB
Q_IMPORT_QML_PLUGIN(FluentUIPlugin)
#endif
int main(int argc, char *argv[]) {
qputenv("QT_QUICK_CONTROLS_STYLE", "FluentUI");
QGuiApplication::setOrganizationName(PROJECT_COMPANY);
QGuiApplication::setOrganizationDomain(PROJECT_DOMAIN);
QGuiApplication::setApplicationName(PROJECT_APP_NAME);
QGuiApplication::setApplicationDisplayName(PROJECT_APP_NAME);
QGuiApplication::setApplicationVersion(PROJECT_VERSION);
Log::setup(argv, PROJECT_APP_NAME);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.addImportPath(":/qt/qml");
AppInfo::getInstance()->init(&engine);
const QUrl url(u"qrc:/qt/qml/@{application_name}/App.qml"_qs);
QObject::connect(
&engine, &QQmlApplicationEngine::objectCreated, &app,
[url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
},
Qt::QueuedConnection);
engine.load(url);
const int exec = QGuiApplication::exec();
return exec;
}