59 lines
1.9 KiB
C++
59 lines
1.9 KiB
C++
#include "mainwindow.h"
|
|
#include <QApplication>
|
|
#include <QSystemSemaphore>
|
|
#include <QSharedMemory>
|
|
#include <QMessageLogger>//日志
|
|
#include <QDebug>
|
|
#include <qmessagebox.h>
|
|
#include <qpushbutton.h>
|
|
#include <qlineedit.h>
|
|
#include <qlabel.h>
|
|
#include <qcombobox.h>
|
|
#include <backEndManager.h>
|
|
#include <QMetaType>
|
|
#include <globalStruct.h>
|
|
#include <back/logmsg.h>
|
|
#include <FrontendBackendBridge.h>
|
|
|
|
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>("imgWidgetShowType");
|
|
qRegisterMetaType<showImgPack>("showImgPack");
|
|
qRegisterMetaType<cv::Mat*>("matPtr");
|
|
|
|
MainWindow w;
|
|
w.show();
|
|
backEndManager _backEnd;
|
|
connectSignalAndSlots(&w,&_backEnd);
|
|
_backEnd.initialization();
|
|
return a.exec();
|
|
|
|
|
|
}
|