|
|
|
|
@ -94,6 +94,7 @@ lpMainWin::lpMainWin(QWidget *parent)
|
|
|
|
|
onInitEngineCtrl();
|
|
|
|
|
ui.setupUi(this);
|
|
|
|
|
onInitAbout();
|
|
|
|
|
setupTrayIcon();
|
|
|
|
|
|
|
|
|
|
lpGlobalConfig::instance()->loadStandParam();
|
|
|
|
|
{
|
|
|
|
|
@ -813,6 +814,18 @@ void lpMainWin::IEngineResult(QVariantMap vMap)
|
|
|
|
|
/*展示结果*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lpMainWin::showWidget()
|
|
|
|
|
{
|
|
|
|
|
if (m_showMode == 1)
|
|
|
|
|
{
|
|
|
|
|
setMainWindowVisibility(true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
setMainWindowVisibility(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Q_SLOT void lpMainWin::onLogInOut(QString strName, int level, int state)
|
|
|
|
|
{
|
|
|
|
|
lpGlobalData::instance()->m_curUser = strName;
|
|
|
|
|
@ -1068,7 +1081,12 @@ void lpMainWin::timerEvent(QTimerEvent *event)
|
|
|
|
|
|
|
|
|
|
void lpMainWin::closeEvent(QCloseEvent *event)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (m_bExit == false)
|
|
|
|
|
{
|
|
|
|
|
setMainWindowVisibility(false);
|
|
|
|
|
return event->ignore();
|
|
|
|
|
}
|
|
|
|
|
return event->accept();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lpMainWin::onSetModel()
|
|
|
|
|
@ -1181,22 +1199,8 @@ Q_SLOT void lpMainWin::onReadDetectStateASK()
|
|
|
|
|
Q_SLOT void lpMainWin::onTrigRecv(int m_value)
|
|
|
|
|
{
|
|
|
|
|
/*用于接收PLC触发相机的信号 自检是否收到图像 */
|
|
|
|
|
qDebug() << "recv a camera trig :" << QString::number(m_value);
|
|
|
|
|
qWarning() << "recv a Triger signal from PLC:" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")";
|
|
|
|
|
//if (m_pState)//如果是使用软件触发相机拍照
|
|
|
|
|
{
|
|
|
|
|
//if (DetectState::instance()->m_CameraTrigeType == 0)//软件触发模式
|
|
|
|
|
{
|
|
|
|
|
if (lpGlobalConfig::instance()->IsDetect == true) {
|
|
|
|
|
// if (m_exposureTimeCount != 0)
|
|
|
|
|
// {
|
|
|
|
|
// m_pCoreCtrl->ISetExposureTime(m_camKey, m_exposureTimeArray[m_exposureTimeCount]);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
onTriggerCam();
|
|
|
|
|
qWarning() << "soft ctrol camera :" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1663,6 +1667,10 @@ Q_SLOT void lpMainWin::onWebSocketRecvData(QWebSocket* p, QByteArray data)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else if (strcmd == "showWidget")
|
|
|
|
|
{
|
|
|
|
|
this->show();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1700,7 +1708,6 @@ void lpMainWin::sendWebAlgRlt(const ValueResult& rlt)
|
|
|
|
|
{
|
|
|
|
|
m_pWebSocket->sendData(Json2byte(sAlgRltObj));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QJsonObject lpMainWin::byte2Json(QByteArray data)
|
|
|
|
|
@ -1715,3 +1722,56 @@ QByteArray lpMainWin::Json2byte(QJsonObject obj)
|
|
|
|
|
return doc.toJson();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lpMainWin::setupTrayIcon()
|
|
|
|
|
{
|
|
|
|
|
m_trayIcon = new QSystemTrayIcon(this);
|
|
|
|
|
m_trayIconMenu = new QMenu(this);
|
|
|
|
|
m_restoreAction = new QAction(tr("后台运行"), this);
|
|
|
|
|
m_quitAction = new QAction(tr("退出"), this);
|
|
|
|
|
|
|
|
|
|
m_trayIconMenu->addAction(m_restoreAction);
|
|
|
|
|
m_trayIconMenu->addSeparator();
|
|
|
|
|
m_trayIconMenu->addAction(m_quitAction);
|
|
|
|
|
|
|
|
|
|
QIcon icon(":/image/leaper");
|
|
|
|
|
m_trayIcon->setIcon(icon);
|
|
|
|
|
m_trayIcon->setContextMenu(m_trayIconMenu);
|
|
|
|
|
m_trayIcon->show();
|
|
|
|
|
|
|
|
|
|
connect(m_trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(onActivated(QSystemTrayIcon::ActivationReason)));
|
|
|
|
|
connect(m_restoreAction, &QAction::triggered, this, [this]() {
|
|
|
|
|
setMainWindowVisibility(isHidden()
|
|
|
|
|
|| windowState() == Qt::WindowMinimized
|
|
|
|
|
|| (qApp->applicationState() == Qt::ApplicationInactive));
|
|
|
|
|
});
|
|
|
|
|
connect(m_quitAction, &QAction::triggered, this, &lpMainWin::onQuitApplication);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Q_SLOT void lpMainWin::onActivated(QSystemTrayIcon::ActivationReason reason)
|
|
|
|
|
{
|
|
|
|
|
if (reason == QSystemTrayIcon::DoubleClick)
|
|
|
|
|
{
|
|
|
|
|
setMainWindowVisibility(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void lpMainWin::setMainWindowVisibility(bool state)
|
|
|
|
|
{
|
|
|
|
|
if (state) {
|
|
|
|
|
show();
|
|
|
|
|
qApp->processEvents();
|
|
|
|
|
qApp->setActiveWindow(this);
|
|
|
|
|
qApp->processEvents();
|
|
|
|
|
m_restoreAction->setText(tr("后台运行"));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
m_restoreAction->setText(tr("显示界面"));
|
|
|
|
|
hide();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Q_SLOT void lpMainWin::onQuitApplication()
|
|
|
|
|
{
|
|
|
|
|
m_bExit = true;
|
|
|
|
|
lpMainWin::close();
|
|
|
|
|
}
|
|
|
|
|
|