#include "mainwindow.h" #include #include #include #include //日志 #include #include #include #include #include #include #include #include #include #include #include void connectSignalAndSlots(MainWindow* front, backEndManager* back) { QObject::connect(back, &backEndManager::sendPixmapImageWidget, front, &MainWindow::recvPixmapImageWidget); QObject::connect(back, &backEndManager::sendInitString, front, &MainWindow::recvInitString); QObject::connect(back, &backEndManager::sendInitFinished, front, &MainWindow::recvInitFinished); QObject::connect(front, &MainWindow::reInitSignal, back, &backEndManager::initialization); QObject::connect(front->_loadingWidget.retryBtn, &QPushButton::clicked, back, &backEndManager::initialization); QObject::connect(front->_manualDetWidget->_manualDetThread, &manualDetThread::startManualDetSignal, back, &backEndManager::startManualDetSlot); } int main(int argc, char* argv[]) { QApplication a(argc, argv); LogMsg::Create(LogMsg::LogMsgType::DebugMsg); //检测是否已运行 QSystemSemaphore sema("monkey", 1, QSystemSemaphore::Open); sema.acquire(); QSharedMemory mem("DetUi"); if (mem.create(1) == false) { sema.release(); //程序直接退出 exit(0); } sema.release(); ////////// qRegisterMetaType("imgWidgetShowType"); qRegisterMetaType("showImgPack"); qRegisterMetaType("matPtr"); MainWindow w; w.show(); backEndManager _backEnd; connectSignalAndSlots(&w,&_backEnd); _backEnd.initialization(); return a.exec(); }