#include #include #include #include #include #include #include #include "manualcalibration.h" #include "videostream.h" #include "videoadapter.h" #include "signalhandler.h" #include #include #include int main(int argc, char *argv[]) { QProcess process; qInfo()<<"VPA Calibration App ID : "<setContextProperty(QLatin1String("videoAdapter"), &adapter); const QUrl url(QUrl::fromLocalFile("main.qml")); QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject *obj, const QUrl &objUrl) { if (!obj && url == objUrl) QCoreApplication::exit(-1); }, Qt::QueuedConnection); engine.load(url); if (engine.rootObjects().isEmpty()) return -1; ManualCalibration manualCalibration; VideoStream *videoStream = VideoStream::getInstance(); QObject *rootObject = engine.rootObjects().first(); QObject::connect(&manualCalibration,SIGNAL(sigChangeVideoPosition(ReticuleLUT)),videoStream,SLOT(onChangeVideoPosition(ReticuleLUT))); QObject::connect(rootObject, SIGNAL(sigIncVideoDiameter()),&manualCalibration, SLOT(onIncVideoDiameter())); QObject::connect(rootObject, SIGNAL(sigDecVideoDiameter()),&manualCalibration, SLOT(onDecVideoDiameter())); QObject::connect(rootObject, SIGNAL(sigUp()),&manualCalibration, SLOT(onUp())); QObject::connect(rootObject, SIGNAL(sigDown()),&manualCalibration, SLOT(onDown())); QObject::connect(rootObject, SIGNAL(sigRight()),&manualCalibration, SLOT(onRight())); QObject::connect(rootObject, SIGNAL(sigLeft()),&manualCalibration, SLOT(onLeft())); QObject::connect(rootObject, SIGNAL(sigSaveData()),&manualCalibration, SLOT(onSaveData())); QObject::connect(rootObject, SIGNAL(sigChangeDistance(int)),&manualCalibration, SLOT(onChangeDistance(int))); QObject::connect(signalHandler, SIGNAL(sigCalibrationControl(ECommandID)),&manualCalibration, SLOT(onCalibrationControl(ECommandID))); QObject::connect(&manualCalibration, SIGNAL(sigChangeDistanceUI(QVariant)),rootObject, SLOT(changeDistanceUI(QVariant))); QObject::connect(&manualCalibration, SIGNAL(sigAddDistance(QVariant)),rootObject, SLOT(onAddDistance(QVariant))); QObject::connect(videoStream, SIGNAL(sigEnableControl(QVariant)), rootObject, SLOT(onEnableControls(QVariant))); QObject::connect(&app,SIGNAL(aboutToQuit()),videoStream,SLOT(cls())); manualCalibration.init(); GstElement *videoSink = gst_element_factory_make("qtvideosink", NULL); videoStream->startSteaming(videoSink); return app.exec(); }