|
|
|
@ -23,14 +23,15 @@
|
|
|
|
#include <QProcess>
|
|
|
|
#include <QProcess>
|
|
|
|
#include "lpCryptokey.h"
|
|
|
|
#include "lpCryptokey.h"
|
|
|
|
|
|
|
|
|
|
|
|
#define VERSION_HUB "3.0.1.5"
|
|
|
|
#define VERSION_HUB "3.0.1.6"
|
|
|
|
#define VERSION_ALG "3.0.1.4"
|
|
|
|
#define VERSION_ALG "3.0.1.4"
|
|
|
|
#define UPDATE_TIME "2021-09-28"
|
|
|
|
#define UPDATE_TIME "2021-10-08"
|
|
|
|
|
|
|
|
|
|
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
: QMainWindow(parent)
|
|
|
|
: QMainWindow(parent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
ui.setupUi(this);
|
|
|
|
{//加载语言设置
|
|
|
|
{//加载语言设置
|
|
|
|
QSettings languageSetting("hubdetect.ini", QSettings::IniFormat);
|
|
|
|
QSettings languageSetting("hubdetect.ini", QSettings::IniFormat);
|
|
|
|
QString strLanguage = languageSetting.value("language", "Chinese").toString();
|
|
|
|
QString strLanguage = languageSetting.value("language", "Chinese").toString();
|
|
|
|
@ -42,7 +43,7 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
qRegisterMetaType<TimeStruct>("TimeStruct");
|
|
|
|
qRegisterMetaType<TimeStruct>("TimeStruct");
|
|
|
|
m_screen.ShowMsg(tr("加载必要模块....."));
|
|
|
|
m_screen.ShowMsg(tr("加载必要模块....."));
|
|
|
|
onInitCoreCtrl();
|
|
|
|
onInitCoreCtrl();
|
|
|
|
ui.setupUi(this);
|
|
|
|
|
|
|
|
onInitAbout();
|
|
|
|
onInitAbout();
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QGridLayout *pLayout = new QGridLayout(ui.cam_win_1);
|
|
|
|
QGridLayout *pLayout = new QGridLayout(ui.cam_win_1);
|
|
|
|
@ -52,38 +53,34 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
ui.cam_win_1->setLayout(pLayout);
|
|
|
|
ui.cam_win_1->setLayout(pLayout);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
connect(ui.action_userManager, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_userManager, SIGNAL(triggered()), this, SLOT(onActionClicked()));//用户管理
|
|
|
|
connect(ui.action_Login, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_Login, SIGNAL(triggered()), this, SLOT(onActionClicked()));//用户登录
|
|
|
|
connect(ui.action_about, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_about, SIGNAL(triggered()), this, SLOT(onActionClicked()));//关于
|
|
|
|
connect(ui.action_setting_ip, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_setting_ip, SIGNAL(triggered()), this, SLOT(onActionClicked()));//IP设置
|
|
|
|
connect(ui.action_cali_raster, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_cali_raster, SIGNAL(triggered()), this, SLOT(onActionClicked()));//光栅尺
|
|
|
|
connect(ui.action_setting_ban, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_setting_ban, SIGNAL(triggered()), this, SLOT(onActionClicked()));//班次设置
|
|
|
|
connect(ui.action_debug, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_debug, SIGNAL(triggered()), this, SLOT(onActionClicked()));//调试助手
|
|
|
|
connect(ui.action_connect_mode, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_connect_mode, SIGNAL(triggered()), this, SLOT(onActionClicked()));//连接模式
|
|
|
|
connect(ui.action_checkdata, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_checkdata, SIGNAL(triggered()), this, SLOT(onActionClicked()));//历史数据查看页面
|
|
|
|
connect(ui.action_modelmgr, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_modelmgr, SIGNAL(triggered()), this, SLOT(onActionClicked()));//模板管理
|
|
|
|
connect(ui.action_algParam, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_algParam, SIGNAL(triggered()), this, SLOT(onActionClicked()));//算法参数设置
|
|
|
|
connect(ui.action_register, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.action_register, SIGNAL(triggered()), this, SLOT(onActionClicked()));//注册页面
|
|
|
|
|
|
|
|
connect(ui.actionSystemSeting, SIGNAL(triggered()), this, SLOT(onActionClicked()));//系统参数设置
|
|
|
|
connect(ui.actionSystemSeting, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
connect(ui.actioncamSetting, SIGNAL(triggered()), this, SLOT(onActionClicked()));//相机设置
|
|
|
|
connect(ui.actioncamSetting, SIGNAL(triggered()), this, SLOT(onActionClicked()));
|
|
|
|
|
|
|
|
|
|
|
|
connect(ui.btn_start_detect, SIGNAL(clicked()), this, SLOT(onButtonClicked()));//开始检测 停止检测
|
|
|
|
connect(ui.btn_start_detect, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
|
connect(ui.btn_clear_data, SIGNAL(clicked()), this, SLOT(onButtonClicked()));//清空统计
|
|
|
|
connect(ui.btn_clear_data, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
|
|
|
|
|
|
|
|
|
|
|
|
ui.action_userManager->setVisible(false);//默认用户管理菜单隐藏 只有相应权限才能显示
|
|
|
|
ui.action_userManager->setVisible(false);
|
|
|
|
//下拉菜单 布局 工具菜单 配置相关系统设置菜单
|
|
|
|
QMenu *pToolMenu = new QMenu(this);
|
|
|
|
QMenu *pToolMenu = new QMenu(this);
|
|
|
|
// QFont font;
|
|
|
|
|
|
|
|
// font.setPixelSize(24);
|
|
|
|
|
|
|
|
// pToolMenu->setFont(font);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pToolMenu->addAction(ui.action_cali_raster);
|
|
|
|
pToolMenu->addAction(ui.action_cali_raster);
|
|
|
|
pToolMenu->addAction(ui.action_setting_ban);
|
|
|
|
pToolMenu->addAction(ui.action_setting_ban);
|
|
|
|
pToolMenu->addAction(ui.action_setting_ip);
|
|
|
|
pToolMenu->addAction(ui.action_setting_ip);
|
|
|
|
pToolMenu->addAction(ui.action_debug);
|
|
|
|
|
|
|
|
pToolMenu->addAction(ui.actionSystemSeting);
|
|
|
|
|
|
|
|
pToolMenu->addAction(ui.actioncamSetting);
|
|
|
|
pToolMenu->addAction(ui.actioncamSetting);
|
|
|
|
|
|
|
|
pToolMenu->addAction(ui.actionSystemSeting);
|
|
|
|
pToolMenu->addAction(ui.action_algParam);
|
|
|
|
pToolMenu->addAction(ui.action_algParam);
|
|
|
|
|
|
|
|
pToolMenu->addAction(ui.action_debug);
|
|
|
|
|
|
|
|
|
|
|
|
QToolButton* pbutton = new QToolButton(this);
|
|
|
|
QToolButton* pbutton = new QToolButton(this);
|
|
|
|
pbutton->setMenu(pToolMenu);
|
|
|
|
pbutton->setMenu(pToolMenu);
|
|
|
|
@ -93,6 +90,8 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
pbutton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
|
|
|
|
pbutton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
|
|
|
|
pbutton->setPopupMode(QToolButton::InstantPopup);
|
|
|
|
pbutton->setPopupMode(QToolButton::InstantPopup);
|
|
|
|
ui.mainToolBar->addWidget(pbutton);
|
|
|
|
ui.mainToolBar->addWidget(pbutton);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//帮助 下拉菜单
|
|
|
|
QMenu *pHelpMenu = new QMenu(this);
|
|
|
|
QMenu *pHelpMenu = new QMenu(this);
|
|
|
|
pHelpMenu->addAction(ui.action_about);
|
|
|
|
pHelpMenu->addAction(ui.action_about);
|
|
|
|
pHelpMenu->addAction(ui.action_register);
|
|
|
|
pHelpMenu->addAction(ui.action_register);
|
|
|
|
@ -106,17 +105,19 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
pHelptool->setPopupMode(QToolButton::InstantPopup);
|
|
|
|
pHelptool->setPopupMode(QToolButton::InstantPopup);
|
|
|
|
ui.mainToolBar->addWidget(pHelptool);
|
|
|
|
ui.mainToolBar->addWidget(pHelptool);
|
|
|
|
ui.mainToolBar->addSeparator();
|
|
|
|
ui.mainToolBar->addSeparator();
|
|
|
|
|
|
|
|
|
|
|
|
m_pLabelInfo = new QLabel(this);
|
|
|
|
m_pLabelInfo = new QLabel(this);
|
|
|
|
m_pLabelInfo->setText(tr("本系统未注册激活"));
|
|
|
|
m_pLabelInfo->setText(tr("本系统未注册激活"));
|
|
|
|
m_pLabelInfo->setStyleSheet("font: bold 14px; color: red;");
|
|
|
|
m_pLabelInfo->setStyleSheet("font: bold 14px; color: red;");
|
|
|
|
ui.mainToolBar->addWidget(m_pLabelInfo);;
|
|
|
|
ui.mainToolBar->addWidget(m_pLabelInfo);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{//状态栏初始化配置
|
|
|
|
m_pLbCurrentTime = new QLabel(tr("系统时间"));
|
|
|
|
m_pLbCurrentTime = new QLabel(tr("系统时间"));
|
|
|
|
m_pLbBanci = new QLabel(tr("班次信息"));
|
|
|
|
m_pLbBanci = new QLabel(tr("班次信息"));
|
|
|
|
m_pLbDetectState = new QLabel(tr("检测状态"));
|
|
|
|
m_pLbDetectState = new QLabel(tr("检测状态"));
|
|
|
|
m_pLbUser = new QLabel(tr("用户:"));
|
|
|
|
m_pLbUser = new QLabel(tr("用户:"));
|
|
|
|
|
|
|
|
m_pLbPLCConnect = new QLabel(tr("PLC连接"));
|
|
|
|
|
|
|
|
|
|
|
|
QFont m_font;
|
|
|
|
QFont m_font;
|
|
|
|
m_font.setBold(true);
|
|
|
|
m_font.setBold(true);
|
|
|
|
@ -135,13 +136,15 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
m_pLbDetectState->setFont(m_font);
|
|
|
|
m_pLbDetectState->setFont(m_font);
|
|
|
|
m_pLbDetectState->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
|
|
|
m_pLbDetectState->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
|
|
|
|
|
|
|
|
|
|
|
//m_pLbOnLine = new class QLabel("模式:");
|
|
|
|
m_pLbPLCConnect->setMinimumWidth(200);
|
|
|
|
//m_pLbOnLine->setMinimumWidth(c_nWidth);
|
|
|
|
m_pLbPLCConnect->setFont(m_font);
|
|
|
|
|
|
|
|
m_pLbPLCConnect->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
|
|
|
|
|
|
|
|
|
|
|
m_pLbUser->setFont(m_font);
|
|
|
|
m_pLbUser->setFont(m_font);
|
|
|
|
m_pLbUser->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
|
|
|
m_pLbUser->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
|
|
|
|
|
|
|
|
|
|
|
ui.statusBar->addWidget(m_pLbDetectState, 1);
|
|
|
|
ui.statusBar->addWidget(m_pLbDetectState, 1);
|
|
|
|
|
|
|
|
ui.statusBar->addWidget(m_pLbPLCConnect, 1);
|
|
|
|
ui.statusBar->addWidget(m_pLbUser, 1);
|
|
|
|
ui.statusBar->addWidget(m_pLbUser, 1);
|
|
|
|
ui.statusBar->addWidget(m_pLbBanci,1);
|
|
|
|
ui.statusBar->addWidget(m_pLbBanci,1);
|
|
|
|
ui.statusBar->addPermanentWidget(m_pLbCurrentTime);
|
|
|
|
ui.statusBar->addPermanentWidget(m_pLbCurrentTime);
|
|
|
|
@ -149,15 +152,15 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
//加载用户管理模块
|
|
|
|
//加载用户管理模块
|
|
|
|
loadUserModel();
|
|
|
|
loadUserModel();
|
|
|
|
//初始化模型管理模块
|
|
|
|
//初始化模型管理模块
|
|
|
|
{
|
|
|
|
{//总逻辑处理模块 核心管理
|
|
|
|
m_pCtrl = new WheelCtrl(QCoreApplication::applicationDirPath(), &m_screen);
|
|
|
|
m_pCtrl = new WheelCtrl(QCoreApplication::applicationDirPath(), &m_screen);
|
|
|
|
pWorkCtrl = new QWorkMgrCtlr(m_pCtrl);
|
|
|
|
pWorkCtrl = new QWorkMgrCtlr(m_pCtrl);//工单管理模块
|
|
|
|
pWorkCtrl->readManageFile();
|
|
|
|
pWorkCtrl->readManageFile();
|
|
|
|
m_pworkUI = new QWorkMgrUI(pWorkCtrl, m_pCtrl);
|
|
|
|
m_pworkUI = new QWorkMgrUI(pWorkCtrl, m_pCtrl);//工单管理UI模块
|
|
|
|
m_pworkUI->InitUI();
|
|
|
|
m_pworkUI->InitUI();
|
|
|
|
connect(m_pworkUI, SIGNAL(sgUpdatedefect()), this, SLOT(onUpdateDefect()));
|
|
|
|
connect(m_pworkUI, SIGNAL(sgUpdatedefect()), this, SLOT(onUpdateDefect()));
|
|
|
|
|
|
|
|
|
|
|
|
m_pModelMgrDlg = new QModelMgrDlg(m_pCtrl);//模板管理
|
|
|
|
m_pModelMgrDlg = new QModelMgrDlg(m_pCtrl);//模板管理UI
|
|
|
|
//当某个模板加入训练或者不加入训练时修改原来工作单中的模板信息
|
|
|
|
//当某个模板加入训练或者不加入训练时修改原来工作单中的模板信息
|
|
|
|
connect(m_pModelMgrDlg, SIGNAL(sgModifyModel(QString)), this, SLOT(modWorkMgr(QString)));
|
|
|
|
connect(m_pModelMgrDlg, SIGNAL(sgModifyModel(QString)), this, SLOT(modWorkMgr(QString)));
|
|
|
|
connect(m_pModelMgrDlg, SIGNAL(sgUpdatedefect()), this, SLOT(onUpdateDefect()));
|
|
|
|
connect(m_pModelMgrDlg, SIGNAL(sgUpdatedefect()), this, SLOT(onUpdateDefect()));
|
|
|
|
@ -174,11 +177,12 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
connect(m_pSystemSettingDlg, SIGNAL(sgChangeLanguage(QString)), this, SLOT(onLanguageChange(QString)));
|
|
|
|
connect(m_pSystemSettingDlg, SIGNAL(sgChangeLanguage(QString)), this, SLOT(onLanguageChange(QString)));
|
|
|
|
connect(m_pSystemSettingDlg, SIGNAL(sgChangePLCParam()), this, SLOT(onChangePLCParam()));
|
|
|
|
connect(m_pSystemSettingDlg, SIGNAL(sgChangePLCParam()), this, SLOT(onChangePLCParam()));
|
|
|
|
connect(m_pSystemSettingDlg, SIGNAL(sgParamChange()), this, SLOT(onUpdateUI()));
|
|
|
|
connect(m_pSystemSettingDlg, SIGNAL(sgParamChange()), this, SLOT(onUpdateUI()));
|
|
|
|
|
|
|
|
//历史检测图像缩略图
|
|
|
|
m_pixMapList = new QPixmapListBar(ui.tp_main_tabWidget);
|
|
|
|
m_pixMapList = new QPixmapListBar(ui.tp_main_tabWidget);
|
|
|
|
ui.tp_main_tabWidget->insertTab(0, m_pixMapList, tr("历史"));
|
|
|
|
ui.tp_main_tabWidget->insertTab(0, m_pixMapList, tr("历史"));
|
|
|
|
ui.tp_main_tabWidget->setCurrentIndex(0);
|
|
|
|
ui.tp_main_tabWidget->setCurrentIndex(0);
|
|
|
|
|
|
|
|
|
|
|
|
m_pAlgParamDlg = new QAlgParamDlg();
|
|
|
|
m_pAlgParamDlg = new QAlgParamDlg();//算法参数设置页面
|
|
|
|
connect(m_pAlgParamDlg, SIGNAL(sgParamChange()), this, SLOT(onUpdateUI()));
|
|
|
|
connect(m_pAlgParamDlg, SIGNAL(sgParamChange()), this, SLOT(onUpdateUI()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -191,9 +195,7 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
SendTiskTsk = new QMyThread();
|
|
|
|
SendTiskTsk = new QMyThread();
|
|
|
|
TaskFunc TickFunc = std::bind(&lpMainWin::SendTickTskFun, this);
|
|
|
|
TaskFunc TickFunc = std::bind(&lpMainWin::SendTickTskFun, this);
|
|
|
|
SendTiskTsk->loadfunc(TickFunc);
|
|
|
|
SendTiskTsk->loadfunc(TickFunc);
|
|
|
|
|
|
|
|
|
|
|
|
m_screen.ShowMsg(tr("系统初始化完成..."));
|
|
|
|
m_screen.ShowMsg(tr("系统初始化完成..."));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
onSetModel();
|
|
|
|
onSetModel();
|
|
|
|
@ -216,8 +218,6 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
connect(m_pNet, SIGNAL(sgLibRev(bool)), SendModelLibTask, SLOT(WaitSingleIn(bool)));//xy lib
|
|
|
|
connect(m_pNet, SIGNAL(sgLibRev(bool)), SendModelLibTask, SLOT(WaitSingleIn(bool)));//xy lib
|
|
|
|
|
|
|
|
|
|
|
|
// connect(m_pNet, SIGNAL(sgChangeOnlineState(int)), m_pUi, SLOT(onSwitchOnlineModel(int)));//强制在线 离线
|
|
|
|
// connect(m_pNet, SIGNAL(sgChangeOnlineState(int)), m_pUi, SLOT(onSwitchOnlineModel(int)));//强制在线 离线
|
|
|
|
|
|
|
|
|
|
|
|
QTimer::singleShot(500, m_pNet, SLOT(onOpenServer()));//延迟2s打开网络TCP服务
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
connect(&m_PulseTimer, SIGNAL(timeout()), this, SLOT(onPulseTimer()));//心跳包
|
|
|
|
connect(&m_PulseTimer, SIGNAL(timeout()), this, SLOT(onPulseTimer()));//心跳包
|
|
|
|
@ -239,25 +239,7 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
connect(this, SIGNAL(sgShowChannelRes(QString)), this, SLOT(onShowChannel(QString)));
|
|
|
|
connect(this, SIGNAL(sgShowChannelRes(QString)), this, SLOT(onShowChannel(QString)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
/*启动之后就一直发送心跳包和厚度查询*/
|
|
|
|
//???做什么用的
|
|
|
|
if (DetectState::instance()->m_AutoSendTick2Net)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
SendTiskTsk->setSleepTime(1000);
|
|
|
|
|
|
|
|
SendTiskTsk->start();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//if (DetectState::instance()->m_StartAndDetect == 1)//m_sysType 表示万丰科技的
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
QTimer::singleShot(3000, [&](){
|
|
|
|
|
|
|
|
ui.btn_start_detect->setText(tr("停止检测"));
|
|
|
|
|
|
|
|
DetectState::instance()->IsDetect = true;
|
|
|
|
|
|
|
|
m_pCtrl->onStart();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (DetectState::instance()->m_AutoSendTick2COM)
|
|
|
|
|
|
|
|
m_wfPulseTimer.start(1000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pTickThread = new QThread(this);
|
|
|
|
pTickThread = new QThread(this);
|
|
|
|
QNetTickThread *pNetTick = new QNetTickThread;
|
|
|
|
QNetTickThread *pNetTick = new QNetTickThread;
|
|
|
|
pNetTick->setNetPtr(m_pNet);
|
|
|
|
pNetTick->setNetPtr(m_pNet);
|
|
|
|
@ -277,21 +259,40 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
m_pTableCheck->setModelList(strList);
|
|
|
|
m_pTableCheck->setModelList(strList);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m_timerID = startTimer(1000);
|
|
|
|
|
|
|
|
//m_PulseTimer.start(1000);
|
|
|
|
//m_PulseTimer.start(1000);
|
|
|
|
|
|
|
|
|
|
|
|
connect(this, SIGNAL(sgAutoExposure()), this, SLOT(onAutoExposure()));
|
|
|
|
connect(this, SIGNAL(sgAutoExposure()), this, SLOT(onAutoExposure()));
|
|
|
|
connect(this, SIGNAL(sgShowRatioVal(double)), this, SLOT(onShowRatioVal(double)));
|
|
|
|
connect(this, SIGNAL(sgShowRatioVal(double)), this, SLOT(onShowRatioVal(double)));
|
|
|
|
|
|
|
|
//自动曝光参数
|
|
|
|
QString strPath = QApplication::applicationDirPath();
|
|
|
|
QString strPath = QApplication::applicationDirPath();
|
|
|
|
readExposureTimeConfig(strPath);
|
|
|
|
readExposureTimeConfig(strPath);
|
|
|
|
|
|
|
|
|
|
|
|
onUpdateUI();
|
|
|
|
onUpdateUI();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//注册码相关
|
|
|
|
lpGlobalData::instance()->m_bCheckLinese = lpCheckKey::instance()->checkLinese();
|
|
|
|
lpGlobalData::instance()->m_bCheckLinese = lpCheckKey::instance()->checkLinese();
|
|
|
|
m_pCheckLineseUI = new QCryptokeyUI();
|
|
|
|
m_pCheckLineseUI = new QCryptokeyUI();
|
|
|
|
connect(m_pCheckLineseUI, SIGNAL(sgRegisterFinish(bool)), this, SLOT(onLineseCheck(bool)));
|
|
|
|
connect(m_pCheckLineseUI, SIGNAL(sgRegisterFinish(bool)), this, SLOT(onLineseCheck(bool)));
|
|
|
|
|
|
|
|
|
|
|
|
onLineseCheck(lpGlobalData::instance()->m_bCheckLinese);
|
|
|
|
onLineseCheck(lpGlobalData::instance()->m_bCheckLinese);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*启动之后就一直发送心跳包和厚度查询*/
|
|
|
|
|
|
|
|
if (DetectState::instance()->m_AutoSendTick2Net)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
SendTiskTsk->setSleepTime(1000);
|
|
|
|
|
|
|
|
SendTiskTsk->start();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//if (DetectState::instance()->m_StartAndDetect == 1)//m_sysType 表示万丰科技的
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
QTimer::singleShot(3000, [&]() {
|
|
|
|
|
|
|
|
ui.btn_start_detect->setText(tr("停止检测"));
|
|
|
|
|
|
|
|
DetectState::instance()->IsDetect = true;
|
|
|
|
|
|
|
|
m_pCtrl->onStart();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (DetectState::instance()->m_AutoSendTick2COM)
|
|
|
|
|
|
|
|
m_wfPulseTimer.start(1000);
|
|
|
|
|
|
|
|
m_timerID = startTimer(1000);
|
|
|
|
|
|
|
|
QTimer::singleShot(1000, m_pNet, SLOT(onOpenServer()));//延迟2s打开网络TCP服务
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
lpMainWin::~lpMainWin()
|
|
|
|
lpMainWin::~lpMainWin()
|
|
|
|
@ -361,6 +362,11 @@ lpMainWin::~lpMainWin()
|
|
|
|
delete m_pLbUser;
|
|
|
|
delete m_pLbUser;
|
|
|
|
m_pLbUser = nullptr;
|
|
|
|
m_pLbUser = nullptr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (m_pLbPLCConnect)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
delete m_pLbPLCConnect;
|
|
|
|
|
|
|
|
m_pLbPLCConnect = nullptr;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (m_pCtrl)
|
|
|
|
if (m_pCtrl)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -430,7 +436,7 @@ lpMainWin::~lpMainWin()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//核心corctrl模块 包括相机算法等相关模块
|
|
|
|
bool lpMainWin::onInitCoreCtrl()
|
|
|
|
bool lpMainWin::onInitCoreCtrl()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//load coretrl
|
|
|
|
//load coretrl
|
|
|
|
@ -473,7 +479,7 @@ void lpMainWin::loadUserModel()
|
|
|
|
connect(m_pUserCtrl, SIGNAL(sgCurrentUserInfo(QString, int, int)), this, SLOT(onLogInOut(QString, int, int)));
|
|
|
|
connect(m_pUserCtrl, SIGNAL(sgCurrentUserInfo(QString, int, int)), this, SLOT(onLogInOut(QString, int, int)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************系统语言设置*****************************/
|
|
|
|
void lpMainWin::SearchQmFile(const QString & strDir)
|
|
|
|
void lpMainWin::SearchQmFile(const QString & strDir)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QDir dir(strDir);
|
|
|
|
QDir dir(strDir);
|
|
|
|
@ -496,12 +502,10 @@ void lpMainWin::SearchQmFile(const QString & strDir)
|
|
|
|
QString tt = fileInfo.fileName();
|
|
|
|
QString tt = fileInfo.fileName();
|
|
|
|
// 如果是文件夹
|
|
|
|
// 如果是文件夹
|
|
|
|
bool bisDir = fileInfo.isDir();
|
|
|
|
bool bisDir = fileInfo.isDir();
|
|
|
|
if (bisDir)
|
|
|
|
if (bisDir) {
|
|
|
|
{
|
|
|
|
|
|
|
|
SearchQmFile(fileInfo.filePath());
|
|
|
|
SearchQmFile(fileInfo.filePath());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else {
|
|
|
|
{
|
|
|
|
|
|
|
|
bool bQm = fileInfo.fileName().endsWith(".qm");
|
|
|
|
bool bQm = fileInfo.fileName().endsWith(".qm");
|
|
|
|
SetTranslator(fileInfo.filePath());
|
|
|
|
SetTranslator(fileInfo.filePath());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -511,18 +515,16 @@ void lpMainWin::SearchQmFile(const QString & strDir)
|
|
|
|
|
|
|
|
|
|
|
|
void lpMainWin::SetTranslator(const QString strPath)
|
|
|
|
void lpMainWin::SetTranslator(const QString strPath)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (strPath.isEmpty())
|
|
|
|
if (strPath.isEmpty()) {
|
|
|
|
{
|
|
|
|
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
QTranslator *pTrans = new QTranslator;
|
|
|
|
QTranslator *pTrans = new QTranslator;
|
|
|
|
if (pTrans->load(strPath)) // 如果加载成功
|
|
|
|
// 如果加载成功
|
|
|
|
{
|
|
|
|
if (pTrans->load(strPath)) {
|
|
|
|
qApp->installTranslator(pTrans);
|
|
|
|
qApp->installTranslator(pTrans);
|
|
|
|
m_VecTranPtr.append(pTrans);
|
|
|
|
m_VecTranPtr.append(pTrans);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else {
|
|
|
|
{
|
|
|
|
|
|
|
|
delete pTrans;
|
|
|
|
delete pTrans;
|
|
|
|
pTrans = NULL;
|
|
|
|
pTrans = NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -532,10 +534,8 @@ void lpMainWin::SetLanguage(QString strLangage)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QString strDirPath = QString(QCoreApplication::applicationDirPath() + "/language/");
|
|
|
|
QString strDirPath = QString(QCoreApplication::applicationDirPath() + "/language/");
|
|
|
|
QString translatorFileName = strLangage;
|
|
|
|
QString translatorFileName = strLangage;
|
|
|
|
if (!translatorFileName.isEmpty())
|
|
|
|
if (!translatorFileName.isEmpty()) {
|
|
|
|
{
|
|
|
|
if (m_VecTranPtr.size() > 0) {
|
|
|
|
if (m_VecTranPtr.size() > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
while (m_VecTranPtr.size())
|
|
|
|
while (m_VecTranPtr.size())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QTranslator *pVa = m_VecTranPtr.takeFirst();
|
|
|
|
QTranslator *pVa = m_VecTranPtr.takeFirst();
|
|
|
|
@ -544,14 +544,13 @@ void lpMainWin::SetLanguage(QString strLangage)
|
|
|
|
pVa = NULL;
|
|
|
|
pVa = NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//if (strLangage == "Chinese")
|
|
|
|
|
|
|
|
// return;
|
|
|
|
|
|
|
|
QLocale::setDefault(QLocale(translatorFileName));
|
|
|
|
QLocale::setDefault(QLocale(translatorFileName));
|
|
|
|
|
|
|
|
|
|
|
|
QString transDir = strDirPath + translatorFileName;
|
|
|
|
QString transDir = strDirPath + translatorFileName;
|
|
|
|
SearchQmFile(transDir);
|
|
|
|
SearchQmFile(transDir);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*****************************系统语言设置 END*****************************/
|
|
|
|
/*主线程接收图像*/
|
|
|
|
/*主线程接收图像*/
|
|
|
|
void lpMainWin::INewCameraImage(const QString& camKey, QImage img)
|
|
|
|
void lpMainWin::INewCameraImage(const QString& camKey, QImage img)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -779,7 +778,7 @@ Q_SLOT void lpMainWin::onLogInOut(QString strName, int level, int state)
|
|
|
|
m_pModelMgrDlg->onUserLevel(level);
|
|
|
|
m_pModelMgrDlg->onUserLevel(level);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*菜单栏所有事件*/
|
|
|
|
Q_SLOT void lpMainWin::onActionClicked()
|
|
|
|
Q_SLOT void lpMainWin::onActionClicked()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QString strObj = sender()->objectName();
|
|
|
|
QString strObj = sender()->objectName();
|
|
|
|
@ -860,8 +859,8 @@ Q_SLOT void lpMainWin::onActionClicked()
|
|
|
|
m_pDebugDlg->setWindowTitle(tr("调试工具"));
|
|
|
|
m_pDebugDlg->setWindowTitle(tr("调试工具"));
|
|
|
|
m_pDebugDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pDebugDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pDebugDlg->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pDebugDlg->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pDebugDlg->setWindowModality(Qt::ApplicationModal);
|
|
|
|
//m_pDebugDlg->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pDebugDlg->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
//m_pDebugDlg->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
m_pDebugDlg->show();
|
|
|
|
m_pDebugDlg->show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -869,7 +868,7 @@ Q_SLOT void lpMainWin::onActionClicked()
|
|
|
|
if (m_pworkUI)
|
|
|
|
if (m_pworkUI)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_pworkUI->setParent(this);
|
|
|
|
m_pworkUI->setParent(this);
|
|
|
|
m_pworkUI->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pworkUI->setWindowFlags(Qt::Dialog | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint);
|
|
|
|
m_pworkUI->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pworkUI->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pworkUI->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pworkUI->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pworkUI->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
m_pworkUI->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
@ -884,8 +883,8 @@ Q_SLOT void lpMainWin::onActionClicked()
|
|
|
|
m_pAlgParamDlg->setWindowTitle(tr("算法参数"));
|
|
|
|
m_pAlgParamDlg->setWindowTitle(tr("算法参数"));
|
|
|
|
m_pAlgParamDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pAlgParamDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pAlgParamDlg->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pAlgParamDlg->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pAlgParamDlg->setWindowModality(Qt::ApplicationModal);
|
|
|
|
//m_pAlgParamDlg->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pAlgParamDlg->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
//m_pAlgParamDlg->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
m_pAlgParamDlg->show();
|
|
|
|
m_pAlgParamDlg->show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -904,7 +903,7 @@ Q_SLOT void lpMainWin::onActionClicked()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_pModelMgrDlg->setParent(this);
|
|
|
|
m_pModelMgrDlg->setParent(this);
|
|
|
|
m_pModelMgrDlg->setWindowTitle(tr("模板管理"));
|
|
|
|
m_pModelMgrDlg->setWindowTitle(tr("模板管理"));
|
|
|
|
m_pModelMgrDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pModelMgrDlg->setWindowFlags(Qt::Dialog | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint);
|
|
|
|
m_pModelMgrDlg->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pModelMgrDlg->setWindowIcon(QIcon(":/image/leaper"));
|
|
|
|
m_pModelMgrDlg->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pModelMgrDlg->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pModelMgrDlg->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
m_pModelMgrDlg->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
@ -1015,7 +1014,9 @@ QString lpMainWin::SecondTimeString(quint64 value)
|
|
|
|
|
|
|
|
|
|
|
|
void lpMainWin::timerEvent(QTimerEvent *event)
|
|
|
|
void lpMainWin::timerEvent(QTimerEvent *event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (event->timerId() == m_timerID) {
|
|
|
|
if (event->timerId() == m_timerID)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//定时刷新系统信息
|
|
|
|
m_runTimeCount++;
|
|
|
|
m_runTimeCount++;
|
|
|
|
|
|
|
|
|
|
|
|
if (m_pLbCurrentTime) {
|
|
|
|
if (m_pLbCurrentTime) {
|
|
|
|
@ -1024,17 +1025,17 @@ void lpMainWin::timerEvent(QTimerEvent *event)
|
|
|
|
QString strTimeTitle = tr("运行时长:");
|
|
|
|
QString strTimeTitle = tr("运行时长:");
|
|
|
|
QString strShow = QString("%1 %2 %3").arg(m_currentTime).arg(strTimeTitle).arg(strlong);
|
|
|
|
QString strShow = QString("%1 %2 %3").arg(m_currentTime).arg(strTimeTitle).arg(strlong);
|
|
|
|
m_pLbCurrentTime->setText(strShow);
|
|
|
|
m_pLbCurrentTime->setText(strShow);
|
|
|
|
m_pLbCurrentTime->setStyleSheet("font: 14px;");
|
|
|
|
m_pLbCurrentTime->setStyleSheet("font: 18px;");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// state
|
|
|
|
// state
|
|
|
|
if (m_pLbDetectState) {
|
|
|
|
if (m_pLbDetectState) {
|
|
|
|
QString strDetectState = tr("检测状态:") + (DetectState::instance()->IsDetect == true ? tr("检测中...") : tr("未检测..."));
|
|
|
|
QString strDetectState = DetectState::instance()->IsDetect == true ? tr("检测中...") : tr("未检测...");
|
|
|
|
m_pLbDetectState->setText(strDetectState);
|
|
|
|
m_pLbDetectState->setText(strDetectState);
|
|
|
|
if (DetectState::instance()->IsDetect) {
|
|
|
|
if (DetectState::instance()->IsDetect) {
|
|
|
|
m_pLbDetectState->setStyleSheet("font: bold 14px;background-color: green;");
|
|
|
|
m_pLbDetectState->setStyleSheet("font: bold 18px;background-color: green;");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
m_pLbDetectState->setStyleSheet("font: bold 14px;background-color: red;");
|
|
|
|
m_pLbDetectState->setStyleSheet("font: bold 18px;background-color: red;");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -1043,22 +1044,34 @@ void lpMainWin::timerEvent(QTimerEvent *event)
|
|
|
|
if (m_pCtrl)
|
|
|
|
if (m_pCtrl)
|
|
|
|
show_label = m_pCtrl->getCurrentBan();
|
|
|
|
show_label = m_pCtrl->getCurrentBan();
|
|
|
|
|
|
|
|
|
|
|
|
QString strMsg = tr("班次信息:") + (show_label.isEmpty() == true ? tr("该时间段未设置班次") : show_label);
|
|
|
|
QString strMsg = tr("班次信息:") + (show_label.isEmpty() == true ? tr("该时间段未设置班次") : show_label);
|
|
|
|
// if (strLanguage != "Chinese")
|
|
|
|
// if (strLanguage != "Chinese")
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// strMsg = tr("Classes:")
|
|
|
|
// strMsg = tr("Classes:")
|
|
|
|
// + (show_label.isEmpty() == true ? tr("No set Times") : show_label);
|
|
|
|
// + (show_label.isEmpty() == true ? tr("No set Times") : show_label);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
m_pLbBanci->setText(strMsg);
|
|
|
|
m_pLbBanci->setText(strMsg);
|
|
|
|
m_pLbBanci->setStyleSheet("font: 14px;");
|
|
|
|
m_pLbBanci->setStyleSheet("font: 18px;");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (m_pLbUser) {
|
|
|
|
if (m_pLbUser) {
|
|
|
|
QString show_label = m_pCtrl->getUserName();
|
|
|
|
QString show_label = m_pCtrl->getUserName();
|
|
|
|
// if (strLanguage != "Chinese")
|
|
|
|
// if (strLanguage != "Chinese")
|
|
|
|
// m_pLbUser->setText(tr("User:") + show_label);
|
|
|
|
// m_pLbUser->setText(tr("User:") + show_label);
|
|
|
|
// else
|
|
|
|
// else
|
|
|
|
m_pLbUser->setText(tr("当前用户:") + show_label);
|
|
|
|
m_pLbUser->setText(tr("当前用户:") + show_label);
|
|
|
|
m_pLbUser->setStyleSheet("font: 14px;");
|
|
|
|
m_pLbUser->setStyleSheet("font: 18px;");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (m_pLbPLCConnect)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (lpGlobalData::instance()->m_plcConnect == true)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_pLbPLCConnect->setText(tr("PLC已连接"));
|
|
|
|
|
|
|
|
m_pLbPLCConnect->setStyleSheet("font: bold 18px;background-color: green;");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
m_pLbPLCConnect->setText(tr("PLC未连接"));
|
|
|
|
|
|
|
|
m_pLbPLCConnect->setStyleSheet("font: bold 18px;background-color: red;");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1076,9 +1089,25 @@ void lpMainWin::closeEvent(QCloseEvent *event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return event->ignore();
|
|
|
|
return event->ignore();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (m_pDebugDlg)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (!m_pDebugDlg->isHidden())
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_pDebugDlg->close();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return event->accept();
|
|
|
|
return event->accept();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void lpMainWin::changeEvent(QEvent *event)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (event->type() == QEvent::LanguageChange)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ui.retranslateUi(this);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpMainWin::SendModelKuTskFun()
|
|
|
|
void lpMainWin::SendModelKuTskFun()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
@ -1120,7 +1149,6 @@ void lpMainWin::SendModelKuTskFun()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
emit(sgShowMsgdlg(tr("模板库发送完成")));
|
|
|
|
emit(sgShowMsgdlg(tr("模板库发送完成")));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void lpMainWin::SendTickTskFun()
|
|
|
|
void lpMainWin::SendTickTskFun()
|
|
|
|
@ -1287,7 +1315,8 @@ Q_SLOT void lpMainWin::onReadDetectState(int nIndex, QString strModel)
|
|
|
|
QMap<QString, IWheelModel*> *ptr = m_pCtrl->getAllModelMapPtr();
|
|
|
|
QMap<QString, IWheelModel*> *ptr = m_pCtrl->getAllModelMapPtr();
|
|
|
|
if (ptr) {
|
|
|
|
if (ptr) {
|
|
|
|
QList<QString> lst = ptr->keys();
|
|
|
|
QList<QString> lst = ptr->keys();
|
|
|
|
/*if (nIndex < lst.size() && nIndex >= 0)*/ {
|
|
|
|
/*if (nIndex < lst.size() && nIndex >= 0)*/
|
|
|
|
|
|
|
|
{
|
|
|
|
IWheelModel*pModel = ptr->value(strModel);
|
|
|
|
IWheelModel*pModel = ptr->value(strModel);
|
|
|
|
if (pModel) {
|
|
|
|
if (pModel) {
|
|
|
|
pModel->setDetectState(1);
|
|
|
|
pModel->setDetectState(1);
|
|
|
|
@ -1325,7 +1354,6 @@ Q_SLOT void lpMainWin::onTrigRecv(int m_value,double dRatio)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// m_pCoreCtrl->ISetExposureTime(m_camKey, m_exposureTimeArray[m_exposureTimeCount]);
|
|
|
|
// m_pCoreCtrl->ISetExposureTime(m_camKey, m_exposureTimeArray[m_exposureTimeCount]);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
onTriggerCam();
|
|
|
|
onTriggerCam();
|
|
|
|
qWarning() << "soft ctrol camera :" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")";
|
|
|
|
qWarning() << "soft ctrol camera :" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1848,7 +1876,6 @@ Q_SLOT void lpMainWin::onLineseCheck(bool bFlag)
|
|
|
|
ui.action_modelmgr->setDisabled(!bFlag);
|
|
|
|
ui.action_modelmgr->setDisabled(!bFlag);
|
|
|
|
ui.action_checkdata->setDisabled(!bFlag);
|
|
|
|
ui.action_checkdata->setDisabled(!bFlag);
|
|
|
|
ui.action_connect_mode->setDisabled(!bFlag);
|
|
|
|
ui.action_connect_mode->setDisabled(!bFlag);
|
|
|
|
ui.action_connect_mode->setDisabled(!bFlag);
|
|
|
|
|
|
|
|
ui.action_debug->setDisabled(!bFlag);
|
|
|
|
ui.action_debug->setDisabled(!bFlag);
|
|
|
|
ui.action_algParam->setDisabled(!bFlag);
|
|
|
|
ui.action_algParam->setDisabled(!bFlag);
|
|
|
|
ui.actioncamSetting->setDisabled(!bFlag);
|
|
|
|
ui.actioncamSetting->setDisabled(!bFlag);
|
|
|
|
|