main.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include <QGuiApplication>
  2. #include <QQmlApplicationEngine>
  3. #include <QQmlContext>
  4. #include <QApplication>
  5. #include<QMessageBox>
  6. #include "TestService.h"
  7. #include "Standard.h"
  8. #include "Calibrationpara.h"
  9. #include "DLog.h"
  10. QObject *standardmananger_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
  11. {
  12. Q_UNUSED(engine)
  13. Q_UNUSED(scriptEngine)
  14. return StandardManager::instance();
  15. }
  16. QObject *calibrationpara_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
  17. {
  18. Q_UNUSED(engine)
  19. Q_UNUSED(scriptEngine)
  20. return CalibrationPara::instance();
  21. }
  22. int main(int argc, char *argv[])
  23. {
  24. qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
  25. #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
  26. QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
  27. #endif
  28. QApplication app(argc, argv);
  29. qInstallMessageHandler(myMsgOutput);
  30. DLog_Init();
  31. //QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
  32. qmlRegisterSingletonType<StandardManager>("TService", 1, 0, "StandardManager",standardmananger_provider);
  33. qmlRegisterSingletonType<StandardManager>("TService", 1, 0, "CalibrationPara",calibrationpara_provider);
  34. qmlRegisterType<TestService>("TService",1,0,"TestService");
  35. StandardManager::instance();
  36. QQmlApplicationEngine engine;
  37. engine.setOfflineStoragePath("D:/VaporRecoverySystemTest/"); //设置数据库存储路径
  38. //engine.rootContext()->setContextProperty("TService",new TestService);
  39. const QUrl url(QStringLiteral("qrc:/main.qml"));
  40. QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
  41. &app, [url](QObject *obj, const QUrl &objUrl) {
  42. if (!obj && url == objUrl)
  43. QCoreApplication::exit(-1);
  44. }, Qt::QueuedConnection);
  45. engine.load(url);
  46. return app.exec();
  47. }