#ifndef _H_LPMAINWIN_H_ #define _H_LPMAINWIN_H_ #include #include "ui_lpMainWin.h" #include "iCoreCtrl.h" #include "CoreCtrl/CDllCoreCtrl.h" #include "QUserBase.h" #include "QTranslator" #include "QTimer" #include "qmythread.h" #include "DetectState.h" #include "WheelNet.h" #include "ModelTableView.h" class lpMainWin : public QMainWindow { Q_OBJECT public: lpMainWin(QWidget *parent = Q_NULLPTR); ~lpMainWin(); //接收图像回调函数 void INewCameraImage(const QString& camKey, QImage img); //接收算法检测结果回调函数 void IVariantMapToUI(const QString& camKey, const QVariantMap& vMap); //传输算法参数回调函数 QVariant IGetVariantById(int id); signals: void sgTaskSendModels(int nIndex, QString strModel, double dDiameter, double dHeight); void sgTskSendDetectState(int nIndex, QString strModel, int IsDetect); void sgShowMsg(QString, bool); //show2ui void sgCheckEnd(); void sgTskSendCheck(int, int, QString); void sgModelStateChanged(QString); void sgModelLibSendInitDone(); void sgStartDetect(); void sgSendClearDislib(); void sgSendDisLib(int nIndex, QString strModel); void sgSendDisLibDone(); void sgSendReadOnlineLib(); void sgShowChannelRes(QString); void sgShowImgState(QString); void sgGetImg(); void sgShowMsgdlg(QString); void sgTickTsk(); void sgFinish(); void operate(); void sgNetData(int, QVariantMap); private: Q_SLOT void onLogInOut(QString strName, int level, int state); Q_SLOT void onActionClicked(); protected: bool onInitCoreCtrl(); void loadUserModel();//加载用户管理模块 //国际化 void SearchQmFile(const QString & strDir); void SetTranslator(const QString strPath); void SetLanguage(QString strLangage); void SendModelKuTskFun(); void SendTickTskFun(); void onSetModel(); Q_SLOT void onUpdateDefect();//勾选 更新界面显示窗口 //net slot Q_SLOT void onTcpConnet(QString str, bool bConnect); Q_SLOT void onClientConnect(QString addr, bool bConnect); Q_SLOT void onThickness(double dValue); Q_SLOT void onDetectStateRecv(int nIndex, int value); Q_SLOT void onClearLibRev(bool state); Q_SLOT void onPulseRev(); Q_SLOT void onRecvTrigPara(); Q_SLOT void onReadDetectState(int nIndex, QString strModel); Q_SLOT void onReadDetectStateASK(); Q_SLOT void onTrigRecv(int m_value); Q_SLOT void onServerState(QString Addr, int port, bool m_state); Q_SLOT void onShutDownComputer(); //timer slot Q_SLOT void onPulseTimer(); Q_SLOT void onTaskSendModels(int nIndex, QString strModel, double dDiameter, double dHeight); Q_SLOT void onTaskSendDetectState(int nIndex, QString strModel, int IsState); Q_SLOT void onTaskCheck(int nIndex, int IsState, QString strModel); Q_SLOT void onShowImgState(QString str); Q_SLOT void onGetImg(); Q_SLOT void onShowMsg(QString str); Q_SLOT void onSendDisLib(int nIndex, QString strModel); Q_SLOT void onSendDisLibDone(); Q_SLOT void onShowChannel(QString str); protected: virtual void timerEvent(QTimerEvent *event); virtual void closeEvent(QCloseEvent *event); private: Ui::lpMainWin ui; class QLabel* main_lb_res_Channle{ nullptr }; class QLabel* main_lb_res_Channle_Show{ nullptr }; class QLabel* main_label_state{ nullptr }; class QLabel* main_showWorkLabel{ nullptr }; class ModelsView *m_pTableCheck{ nullptr }; private: CDllCoreCtrl* m_pDllCoreCtrl{ nullptr }; ICoreCtrl* m_pCoreCtrl{ nullptr }; private: class IWheelCtrl *m_pCtrl{ nullptr }; class CWheelNet *m_pNet{ nullptr }; class QWorkMgrUI *pworkUI{ nullptr }; class QWorkMgrCtlr *pWorkCtrl{ nullptr }; class DetectState *m_pState{ nullptr }; QTimer m_PulseTimer, m_ThicknessTimer; QTimer m_wfPulseTimer; QTimer m_timer; QTimer m_ReadLibTimer; QTimer m_timerDetect; QMyThread *SendModelLibTask{ nullptr }; QMyThread *SendTiskTsk{ nullptr }; QThread *pTickThread{ nullptr }; int m_nWfThress{ 0 }; int m_TimerID{ 0 };//心跳包定时器 用于记录超时 int m_TimerOutCount{ 0 }; int m_RestartServerCount{ 0 }; QStringList forDefectList; int m_nDiffTrigNum{ 0 };//触发次数 用于判断相机是否正常打开 private: IUserCtrl *m_pUserCtrl{ nullptr };//用户管理模块 QVector m_VecTranPtr;//国际化语言包管理 }; #endif