main.cpp 1019 B

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