main.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #include <QApplication>
  2. #include <QGuiApplication>
  3. #include <QQmlApplicationEngine>
  4. #include <QQmlContext>
  5. #include "qquickitem/timedomainplot.h"
  6. #include "qquickitem/audiowaveform.h"
  7. #include "qquickitem/spectrum.h"
  8. #include "qquickitem/spectrumplot.h"
  9. #include "qquickitem/waveformplot.h"
  10. int main(int argc, char *argv[])
  11. {
  12. #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
  13. QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
  14. #endif
  15. QApplication app(argc, argv);
  16. qmlRegisterType<TimeDomainPlot>("myqml",1,0,"TimeDomainPlot");
  17. qmlRegisterType<AudioWaveform>("myqml",1,0,"AudioWaveform");
  18. qmlRegisterType<Spectrum>("myqml",1,0,"Spectrum");
  19. qmlRegisterType<SpectrumPlot>("myqml",1,0,"SpectrumPlot");
  20. qmlRegisterType<WaveformPlot>("myqml",1,0,"WaveformPlot");
  21. QQmlApplicationEngine engine;
  22. const QUrl url(QStringLiteral("qrc:/qml/main.qml"));
  23. QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
  24. &app, [url](QObject *obj, const QUrl &objUrl) {
  25. if (!obj && url == objUrl)
  26. QCoreApplication::exit(-1);
  27. }, Qt::QueuedConnection);
  28. engine.load(url);
  29. return app.exec();
  30. }