main.cpp 845 B

123456789101112131415161718192021222324252627282930
  1. #include <QGuiApplication>
  2. #include <QQmlApplicationEngine>
  3. #include <QQuickWindow>
  4. #include <QQmlContext>
  5. #include <memory>
  6. #include "imagemanager.h"
  7. int main(int argc, char *argv[])
  8. {
  9. QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
  10. QGuiApplication app(argc, argv);
  11. QQmlApplicationEngine engine;
  12. std::unique_ptr<ImageManager> imageManager(new ImageManager);
  13. engine.rootContext()->setContextProperty("imageManager", imageManager.get());
  14. const QUrl url(QStringLiteral("qrc:/main.qml"));
  15. QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
  16. &app, [url](QObject *obj, const QUrl &objUrl) {
  17. if (!obj && url == objUrl)
  18. QCoreApplication::exit(-1);
  19. }, Qt::QueuedConnection);
  20. engine.load(url);
  21. int result = app.exec();
  22. return result;
  23. }