You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wheeldetect/tpvs17/tpMain/QSystemSettingDlg.cpp

1008 lines
41 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include "QSystemSettingDlg.h"
#include <QDir>
#include <QObject>
#include "QCheckBox"
#include "QLabel"
#include "QSpinBox"
#include "DetectState.h"
#include "QFileDialog"
#include "QMessageBox"
#include "qshowimg.h"
#include <QDesktopServices>
#include "InfoFile.h"
#define DEVELOP_UI_CHECK_SAVE_GOOD "SaveGoodcheckBox"
#define DEVELOP_UI_CHECK_SAVE_BAD "SaveBadcheckBox"
#define DEVELOP_UI_CHECK_SAVE_CUTGOOD "SaveCutGoodcheckBox"
#define DEVELOP_UI_CHECK_SAVE_CUTBAD "SaveCutBadcheckBox"
#define DEVELOP_UI_CHECK_CHKBOXALL2A "chkBoxAll2A"
#pragma execution_character_set("utf-8")
const QString DEVELOP_DETECT_CAMERE_VIRSUAL = QObject::tr("虚拟相机触发");
const QString DEVELOP_DETECT_CAMERE_TRUE = QObject::tr("硬件相机触发");
const QString DEVELOP_DETECT_DEBUG_NOUSER = QObject::tr("调试免登陆");
const QString DEVELOP_DETECT_DEBUG_USER = QObject::tr("正常工作模式");
const QString DEVELOP_DETECT_CAM_OUTTRIGER = QObject::tr("传感器触发");
const QString DEVELOP_DETECT_CAM_SOFTER = QObject::tr("软件触发");
const QString DEVELOP_PLC_TRIGER_DOWM = QObject::tr("下降沿触发");
const QString DEVELOP_PLC_TRIGER_UP = QObject::tr("上升沿触发");
QSystemSettingDlg::QSystemSettingDlg(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
m_setting = new QSettings(".\\user\\systemfile.ini", QSettings::IniFormat);
readSettingFile();
m_listwidgetItemStr.append(tr("相关设备配置"));
m_listwidgetItemStr.append(tr("检测图像设置"));
m_listwidgetItemStr.append(tr("PLC相关设置"));
m_listwidgetItemStr.append(tr("报警灯测试"));
m_listwidgetItemStr.append(tr("高级功能"));
{
InitTreeWidget(ui.treeWidget);
addComRoot(ui.treeWidget, m_listwidgetItemStr.at(0));//相关设备配置
addPicRoot(ui.treeWidget, m_listwidgetItemStr.at(1));//检测图像设置
addPLCRoot(ui.treeWidget, m_listwidgetItemStr.at(2));//PLC相关设置
addLightRoot(ui.treeWidget, m_listwidgetItemStr.at(3));//报警灯测试
ui.treeWidget->expandAll();
addSuperRoot(ui.treeWidget, m_listwidgetItemStr.at(4));//高级功能
}
{
ui.listWidget->clear();
ui.listWidget->addItems(m_listwidgetItemStr);
for (int nIndex = 0; nIndex < ui.listWidget->count(); nIndex++)
{
QListWidgetItem *itenn = ui.listWidget->item(nIndex);
itenn->setBackgroundColor(QColor(0, 50, 50, 100));
QSize s = itenn->sizeHint();
itenn->setSizeHint(QSize(s.width(), 30));
}
connect(ui.listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(onSetCurrentIndex(int)));
}
}
QSystemSettingDlg::~QSystemSettingDlg()
{
for (int nIndex = 0; nIndex < developitems.size(); nIndex++) {
QTreeWidgetItem* pItem = developitems.at(nIndex);
delete pItem;
pItem = NULL;
}
for (int nIndex = 0; nIndex < comitems.size(); nIndex++) {
QTreeWidgetItem* pItem = comitems.at(nIndex);
delete pItem;
pItem = NULL;
}
for (int nIndex = 0; nIndex < camitems.size(); nIndex++) {
QTreeWidgetItem* pItem = camitems.at(nIndex);
delete pItem;
pItem = NULL;
}
for (int nIndex = 0; nIndex < picitems.size(); nIndex++) {
QTreeWidgetItem* pItem = picitems.at(nIndex);
delete pItem;
pItem = NULL;
}
for (int nIndex = 0; nIndex < PLCitems.size(); nIndex++) {
QTreeWidgetItem* pItem = PLCitems.at(nIndex);
delete pItem;
pItem = NULL;
}
for (int nIndex = 0; nIndex < lightitems.size(); nIndex++) {
QTreeWidgetItem* pItem = lightitems.at(nIndex);
delete pItem;
pItem = NULL;
}
// for (QMap<QString, class QTreeWidgetItem *>::iterator its = m_TreeItemMap.begin(); its != m_TreeItemMap.end(); ++its)
// {
// delete *its;
// *its = NULL;
// }
m_TreeItemMap.clear();
for (int nIndex = 0; nIndex < m_listObj.size(); nIndex++) {
QObject* p = m_listObj.at(nIndex);
delete p;
p = NULL;
}
if (pDiskCleanThread) {
pDiskCleanThread->ExitThread();
pDiskCleanThread->quit();
pDiskCleanThread->wait(50);
delete pDiskCleanThread;
pDiskCleanThread = NULL;
}
if (m_setting) {
delete m_setting;
m_setting = NULL;
}
}
void QSystemSettingDlg::onShowWidget(int nLevel)
{
if (nLevel == 9 || DetectState::instance()->m_Debug == 100) {
HidPLCUI(false);
HidDevelopUI(false);
}
else if (nLevel == 5) {
HidDevelopUI(true);
HidPLCUI(true);
}
else if (nLevel == 4) {
ui.treeWidget->setItemHidden(picitems.at(7), true);
HidDevelopUI(true);
HidPLCUI(true);
}
else {
HidDevelopUI(true);
HidPLCUI(true);
}
ui.listWidget->setCurrentRow(0);
}
bool QSystemSettingDlg::InitTreeWidget(QTreeWidget* pTreewidget)
{
if (pTreewidget == NULL)
return false;
QStringList header;
header.append(tr("属性"));
header.append(tr(""));
pTreewidget->setHeaderLabels(header);
pTreewidget->header()->setStretchLastSection(true);
pTreewidget->setColumnCount(2);
pTreewidget->setStyleSheet("QTreeView::item:hover{background-color:rgb(0,255,0,50)}"
"QTreeView::item:selected{background-color:rgb(67,101,234,100)}");
//pTreewidget->setSelectionModel(QAbstractItemView::ExtendedSelection);
pTreewidget->setColumnWidth(0, 180);
return true;
}
void QSystemSettingDlg::addComRoot(class QTreeWidget *pTreewidget, QString strName /*= QString()*/)
{
// QTreeWidgetItem *m_ComItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("相关设备配置")));
// pStationSetButton = new QPushButton(tr("打开配置页面"));
// pTreewidget->setItemWidget(m_ComItems, 1, pStationSetButton);
// m_ComItems->setSizeHint(1, QSize(100, 30));
// pStationSetButton->setObjectName("pStationSetButton");
// connect(pStationSetButton, SIGNAL(clicked()), this, SLOT(onTreeWidgetButton()));
// m_listObj.append(pStationSetButton);
// m_TreeItemMap.insert(strName, m_ComItems);
QTreeWidgetItem *pLanguage = new QTreeWidgetItem(pTreewidget, QStringList(tr("语言")));
m_Language = new QComboBox;
pTreewidget->setItemWidget(pLanguage, 1, m_Language);
m_TreeItemMap.insert("language", pLanguage);
m_Language->setObjectName("m_Language");
QString strpath = QCoreApplication::applicationDirPath() + "/language/";
QStringList strList = getDirNames(strpath);
if (strList.size() <= 0)
strList << "Chinese";
m_Language->addItems(strList);
QSettings languageSetting("hubdetect.ini", QSettings::IniFormat);
QString strLangeage = languageSetting.value("language", "Chinese").toString();
m_Language->setCurrentText(strLangeage);
connect(m_Language, SIGNAL(currentTextChanged(const QString &)), this, SLOT(oncurrentChanged(const QString &)));
m_listObj.append(m_Language);
}
QStringList QSystemSettingDlg::getDirNames(QString strPath)
{
QStringList strDirNames;
QDir dir(strPath);
if (!dir.exists())
{
return strDirNames;
}
dir.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
dir.setSorting(QDir::DirsFirst); // 文件夹优先
// 转换成一个List
QFileInfoList list = dir.entryInfoList();
if (list.size() < 1)
{
return strDirNames;
}
int i = 0;
do
{
QFileInfo fileInfo = list.at(i);
QString tt = fileInfo.fileName();
// 如果是文件夹
bool bisDir = fileInfo.isDir();
if (bisDir)
{
strDirNames.append(fileInfo.fileName());
}
i++;
} while (i < list.size());
return strDirNames;
}
void QSystemSettingDlg::addPicRoot(QTreeWidget *pTreewidget, QString strName)
{
QTreeWidgetItem *m_RootItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("检测图像设置")));
m_TreeItemMap.insert(strName, m_RootItems);
m_RootItems->setSizeHint(1, QSize(100, 30));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("检测背景更换"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("抠图后"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("抠图后"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("原图"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("原图"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("检测结果"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("图像保存路径"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("设置保存路径"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("打开图像路径"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("保存当前设置"))));
m_RootItems->addChildren(picitems);
QCheckBox *m_saveImgRes_good = new QCheckBox;
m_saveImgRes_good->setText(tr("保存已匹配图"));
m_saveImgRes_good->setObjectName("m_saveImgRes_good");
connect(m_saveImgRes_good, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_saveImgRes_good->setChecked(DetectState::instance()->saveCutGood == (int)true);
QCheckBox *m_saveImgRes_bad = new QCheckBox;
m_saveImgRes_bad->setText(tr("保存无匹配图"));
m_saveImgRes_bad->setObjectName("m_saveImgRes_bad");
connect(m_saveImgRes_bad, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_saveImgRes_bad->setChecked(DetectState::instance()->saveCutBad == (int)true);
QCheckBox *m_saveImgSrc_good = new QCheckBox;
m_saveImgSrc_good->setText(tr("保存已匹配图"));
m_saveImgSrc_good->setObjectName("m_saveImgSrc_good");
connect(m_saveImgSrc_good, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_saveImgSrc_good->setChecked(DetectState::instance()->saveGood == (int)true);
QCheckBox *m_saveImgSrc_bad = new QCheckBox;
m_saveImgSrc_bad->setText(tr("保存无匹配图"));
m_saveImgSrc_bad->setObjectName("m_saveImgSrc_bad");
connect(m_saveImgSrc_bad, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_saveImgSrc_bad->setChecked(DetectState::instance()->saveBad == (int)true);
QCheckBox *m_ResAll2A = new QCheckBox;
m_ResAll2A->setText(tr("轮毂全去A通道"));
m_ResAll2A->setObjectName("m_ResAll2A");
connect(m_ResAll2A, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_ResAll2A->setChecked(DetectState::instance()->m_bObjAll2A == (int)true);
QPushButton* pChangeBGbp = new QPushButton(tr("查看检测背景"));
connect(pChangeBGbp, SIGNAL(clicked()), this, SLOT(onChangeBackground()));
m_pLbShowPath = new QLabel;
m_pLbShowPath->setText(DetectState::instance()->m_SaveImgDirPath);
QPushButton *pbSetSavePath = new QPushButton(tr("设置保存路径"));
pbSetSavePath->setObjectName("pbSetSavePath");
connect(pbSetSavePath, SIGNAL(clicked()), this, SLOT(onOpenDataPath()));
QPushButton *pbOpenImgPath = new QPushButton(tr("打开图像路径"));
pbOpenImgPath->setObjectName("pbOpenImgPath");
connect(pbOpenImgPath, SIGNAL(clicked()), this, SLOT(onOpenDataPath()));
QPushButton* pSavePara = new QPushButton(tr("保存参数"));
pSavePara->setObjectName("pSavePara");
connect(pSavePara, SIGNAL(clicked()), this, SLOT(onTreeWidgetButton()));
pTreewidget->setItemWidget(picitems.at(0), 1, pChangeBGbp);
pTreewidget->setItemWidget(picitems.at(1), 1, m_saveImgRes_good);
pTreewidget->setItemWidget(picitems.at(2), 1, m_saveImgRes_bad);
pTreewidget->setItemWidget(picitems.at(3), 1, m_saveImgSrc_good);
pTreewidget->setItemWidget(picitems.at(4), 1, m_saveImgSrc_bad);
pTreewidget->setItemWidget(picitems.at(5), 1, m_ResAll2A);
pTreewidget->setItemWidget(picitems.at(6), 1, m_pLbShowPath);
pTreewidget->setItemWidget(picitems.at(7), 1, pbSetSavePath);
pTreewidget->setItemWidget(picitems.at(8), 1, pbOpenImgPath);
pTreewidget->setItemWidget(picitems.at(9), 1, pSavePara);
m_listObj.append(pChangeBGbp);
m_listObj.append(m_saveImgRes_bad);
m_listObj.append(m_saveImgRes_good);
m_listObj.append(m_saveImgSrc_bad);
m_listObj.append(m_saveImgSrc_good);
m_listObj.append(m_ResAll2A);
m_listObj.append(m_pLbShowPath);
m_listObj.append(pbSetSavePath);
m_listObj.append(pbOpenImgPath);
m_listObj.append(pSavePara);
picitems.at(0)->setSizeHint(1, QSize(100, 40));
picitems.at(1)->setSizeHint(1, QSize(100, 30));
picitems.at(2)->setSizeHint(1, QSize(100, 30));
picitems.at(3)->setSizeHint(1, QSize(100, 30));
picitems.at(4)->setSizeHint(1, QSize(100, 30));
picitems.at(5)->setSizeHint(1, QSize(100, 30));
picitems.at(6)->setSizeHint(1, QSize(100, 40));
picitems.at(7)->setSizeHint(1, QSize(100, 40));
picitems.at(8)->setSizeHint(1, QSize(100, 40));
picitems.at(9)->setSizeHint(1, QSize(100, 40));
}
void QSystemSettingDlg::addPLCRoot(QTreeWidget *pTreewidget, QString strName)
{
QTreeWidgetItem *m_PLCItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("PLC相关设置")));
m_TreeItemMap.insert(strName, m_PLCItems);
m_PLCItems->setSizeHint(1, QSize(100, 30));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("保存设置"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("传感器触发滤波(ms)"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("相机触发延时(ms)"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("相机触发脉宽(ms)"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("光源熄灭延时时间(ms)"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("传感器触发类型"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("保持结果时长(ms)"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("连接超时次数"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("超时是否显示信息"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("是否自动重启服务器"))));
PLCitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("是否保存超时日志"))));
m_PLCItems->addChildren(PLCitems);
QPushButton *savePLCpara = new QPushButton(tr("发送并保存"));
m_PLCTrigerFilter = new QSpinBox();
m_PLCTrigerFilter->setMinimum(1);
m_PLCTrigerFilter->setMaximum(65536);
m_PLCTrigerFilter->setValue(DetectState::instance()->m_PLC_TrigerFilter);
m_PLCCameraDelay = new QSpinBox();
m_PLCCameraDelay->setMinimum(1);
m_PLCCameraDelay->setMaximum(65536);
m_PLCCameraDelay->setValue(DetectState::instance()->m_PLC_CamTrigDelay);
m_PLCCameraPulse = new QSpinBox();
m_PLCCameraPulse->setMinimum(1);
m_PLCCameraPulse->setMaximum(65536);
m_PLCCameraPulse->setValue(DetectState::instance()->m_PLC_CamTrigPulse);
m_PLCLightDelay = new QSpinBox();
m_PLCLightDelay->setMinimum(1);
m_PLCLightDelay->setMaximum(65536);
m_PLCLightDelay->setValue(DetectState::instance()->m_PLC_LightDelay);
m_PLCResHoldTime = new QSpinBox();
m_PLCResHoldTime->setMinimum(1);
m_PLCResHoldTime->setMaximum(65536);
m_PLCResHoldTime->setValue(DetectState::instance()->m_PLC_ResHoldTime);
m_PLCTrigerType = new QComboBox();
QStringList strList;
strList.append(DEVELOP_PLC_TRIGER_DOWM);
strList.append(DEVELOP_PLC_TRIGER_UP);
m_PLCTrigerType->addItems(strList);
if (DetectState::instance()->m_PLC_TrigerType == 0)
m_PLCTrigerType->setCurrentText(DEVELOP_PLC_TRIGER_DOWM);
else
m_PLCTrigerType->setCurrentText(DEVELOP_PLC_TRIGER_UP);
savePLCpara->setObjectName("savePLCpara");
connect(savePLCpara, SIGNAL(clicked()), this, SLOT(onSavePLCPara()));
m_PLC_RestartSeverCount = new QSpinBox();
m_PLC_RestartSeverCount->setMinimum(1);
m_PLC_RestartSeverCount->setMaximum(65536);
m_PLC_RestartSeverCount->setToolTip(tr("超时提醒n次后自动重启服务"));
m_PLC_RestartSeverCount->setValue(DetectState::instance()->m_PLC_RestartSeverCount);
QCheckBox *m_PLC_ShowTimerOutMsg = new QCheckBox;
m_PLC_ShowTimerOutMsg->setText(tr("是否显示提示"));
m_PLC_ShowTimerOutMsg->setText(tr("勾选后通信超时时会显示提醒信息"));
m_PLC_ShowTimerOutMsg->setObjectName("m_PLC_ShowTimerOutMsg");
connect(m_PLC_ShowTimerOutMsg, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_PLC_ShowTimerOutMsg->setChecked(DetectState::instance()->m_PLC_ShowTimerOutMsg == (int)true);
QCheckBox *m_PLC_IsResServer = new QCheckBox;
m_PLC_IsResServer->setText(tr("是否自动重启服务器"));
m_PLC_IsResServer->setToolTip(tr("勾选后通信超时次数达到后系统将自动重启服务PLC会自动重新连接"));
m_PLC_IsResServer->setObjectName("m_PLC_IsResServer");
connect(m_PLC_IsResServer, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_PLC_IsResServer->setChecked(DetectState::instance()->m_PLC_IsResServer == (int)true);
QCheckBox *m_PLC_SaveMsgInLog = new QCheckBox;
m_PLC_SaveMsgInLog->setText(tr("保存信息到系统日志"));
m_PLC_SaveMsgInLog->setToolTip(tr("勾选后表示超时信息将自动保存到系统日志中,便于查询"));
m_PLC_SaveMsgInLog->setObjectName("m_PLC_SaveMsgInLog");
connect(m_PLC_SaveMsgInLog, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_PLC_SaveMsgInLog->setChecked(DetectState::instance()->m_PLC_SaveMsgInLog == (int)true);
PLCitems.at(0)->setSizeHint(1, QSize(100, 40));
PLCitems.at(1)->setSizeHint(1, QSize(100, 40));
PLCitems.at(2)->setSizeHint(1, QSize(100, 40));
PLCitems.at(3)->setSizeHint(1, QSize(100, 40));
PLCitems.at(4)->setSizeHint(1, QSize(100, 40));
PLCitems.at(5)->setSizeHint(1, QSize(100, 40));
PLCitems.at(6)->setSizeHint(1, QSize(100, 40));
PLCitems.at(7)->setSizeHint(1, QSize(100, 40));
PLCitems.at(8)->setSizeHint(1, QSize(100, 40));
PLCitems.at(9)->setSizeHint(1, QSize(100, 40));
PLCitems.at(10)->setSizeHint(1, QSize(100, 40));
pTreewidget->setItemWidget(PLCitems.at(0), 1, savePLCpara);
pTreewidget->setItemWidget(PLCitems.at(1), 1, m_PLCTrigerFilter);
pTreewidget->setItemWidget(PLCitems.at(2), 1, m_PLCCameraDelay);
pTreewidget->setItemWidget(PLCitems.at(3), 1, m_PLCCameraPulse);
pTreewidget->setItemWidget(PLCitems.at(4), 1, m_PLCLightDelay);
pTreewidget->setItemWidget(PLCitems.at(5), 1, m_PLCTrigerType);
pTreewidget->setItemWidget(PLCitems.at(6), 1, m_PLCResHoldTime);
pTreewidget->setItemWidget(PLCitems.at(7), 1, m_PLC_RestartSeverCount);
pTreewidget->setItemWidget(PLCitems.at(8), 1, m_PLC_ShowTimerOutMsg);
pTreewidget->setItemWidget(PLCitems.at(9), 1, m_PLC_IsResServer);
pTreewidget->setItemWidget(PLCitems.at(10), 1, m_PLC_SaveMsgInLog);
m_listObj.append(savePLCpara);
m_listObj.append(m_PLCTrigerFilter);
m_listObj.append(m_PLCCameraDelay);
m_listObj.append(m_PLCCameraPulse);
m_listObj.append(m_PLCLightDelay);
m_listObj.append(m_PLCTrigerType);
m_listObj.append(m_PLC_RestartSeverCount);
m_listObj.append(m_PLC_ShowTimerOutMsg);
m_listObj.append(m_PLC_IsResServer);
m_listObj.append(m_PLC_SaveMsgInLog);
m_listObj.append(m_PLCResHoldTime);
}
void QSystemSettingDlg::addLightRoot(QTreeWidget *pTreewidget, QString strName)
{
QTreeWidgetItem *m_LightItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("报警灯测试")));
m_TreeItemMap.insert(strName, m_LightItems);
m_LightItems->setSizeHint(1, QSize(100, 30));
lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("红灯"))));
lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("绿灯"))));
lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("黄灯"))));
lightitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("蜂鸣"))));
m_LightItems->addChildren(lightitems);
QPushButton *redLight = new QPushButton(tr("红灯闪一下"));
QPushButton *grenLight = new QPushButton(tr("绿灯闪一下"));
QPushButton *yellLight = new QPushButton(tr("黄灯闪一下"));
QPushButton *beeLight = new QPushButton(tr("蜂鸣响一下"));
redLight->setObjectName("redLight");
grenLight->setObjectName("grenLight");
yellLight->setObjectName("yellLight");
beeLight->setObjectName("beeLight");
connect(redLight, SIGNAL(clicked()), this, SLOT(onLightTest()));
connect(grenLight, SIGNAL(clicked()), this, SLOT(onLightTest()));
connect(yellLight, SIGNAL(clicked()), this, SLOT(onLightTest()));
connect(beeLight, SIGNAL(clicked()), this, SLOT(onLightTest()));
lightitems.at(0)->setSizeHint(1, QSize(100, 40));
lightitems.at(1)->setSizeHint(1, QSize(100, 40));
lightitems.at(2)->setSizeHint(1, QSize(100, 40));
lightitems.at(3)->setSizeHint(1, QSize(100, 40));
pTreewidget->setItemWidget(lightitems.at(0), 1, redLight);
pTreewidget->setItemWidget(lightitems.at(1), 1, grenLight);
pTreewidget->setItemWidget(lightitems.at(2), 1, yellLight);
pTreewidget->setItemWidget(lightitems.at(3), 1, beeLight);
m_listObj.append(redLight);
m_listObj.append(grenLight);
m_listObj.append(yellLight);
m_listObj.append(beeLight);
}
void QSystemSettingDlg::addSuperRoot(class QTreeWidget *pTreewidget, QString strName)
{
QTreeWidgetItem *m_DevelopItems = new QTreeWidgetItem(pTreewidget, QStringList(tr("开发者使用")));
m_TreeItemMap.insert(strName, m_DevelopItems);
m_DevelopItems->setSizeHint(1, QSize(100, 30));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("保存设置"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("相机模式"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("虚拟相机触发时间"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("系统模式"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("相机触发模式"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("串口发送心跳包"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("网络发送心跳包"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("串口发送通道结果"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("网络发送检测结果"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("网络发送通道结果"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("光栅使用标志"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("保存高度厚度数据"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("通道分配"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("启动时是否检测"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("显示厚度数据"))));
developitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("显示厚度采样数据"))));
m_DevelopItems->addChildren(developitems);
m_pCameraTrgType = new QComboBox();
QStringList m_strList;
m_strList.append(QString(DEVELOP_DETECT_CAMERE_VIRSUAL));
m_strList.append(QString(DEVELOP_DETECT_CAMERE_TRUE));
m_pCameraTrgType->addItems(m_strList);
m_pCameraTrgTimes = new QSpinBox();
m_pCameraTrgTimes->setMaximum(99999);
m_pDebugModel = new QComboBox();
QStringList debug_strlist;
debug_strlist.append(QString(DEVELOP_DETECT_DEBUG_NOUSER));
debug_strlist.append(QString(DEVELOP_DETECT_DEBUG_USER));
m_pDebugModel->addItems(debug_strlist);
m_pSystype = new QComboBox();
QStringList sysStrList;
sysStrList.append(QString(DEVELOP_DETECT_CAM_OUTTRIGER));
sysStrList.append(QString(DEVELOP_DETECT_CAM_SOFTER));
m_pSystype->addItems(sysStrList);
QCheckBox *m_AutoSendTick2COM = new QCheckBox;
m_AutoSendTick2COM->setText(tr("串口发送心跳包"));
m_AutoSendTick2COM->setObjectName("m_AutoSendTick2COM");
connect(m_AutoSendTick2COM, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_AutoSendTick2COM->setChecked(DetectState::instance()->m_AutoSendTick2COM == (int)true);
QCheckBox *m_AutoSendTick2Net = new QCheckBox;
m_AutoSendTick2Net->setText(tr("网络发送心跳包"));
m_AutoSendTick2Net->setObjectName("m_AutoSendTick2Net");
connect(m_AutoSendTick2Net, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_AutoSendTick2Net->setChecked(DetectState::instance()->m_AutoSendTick2Net == (int)true);
QCheckBox *m_SendChannelRes2COM = new QCheckBox;
m_SendChannelRes2COM->setText(tr("串口发送通道结果"));
m_SendChannelRes2COM->setObjectName("m_SendChannelRes2COM");
connect(m_SendChannelRes2COM, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_SendChannelRes2COM->setChecked(DetectState::instance()->m_SendChannelRes2COM == (int)true);
QCheckBox *m_SendDetectStr2Net = new QCheckBox;
m_SendDetectStr2Net->setText(tr("网络发送检测结果"));
m_SendDetectStr2Net->setObjectName("m_SendDetectStr2Net");
connect(m_SendDetectStr2Net, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_SendDetectStr2Net->setChecked(DetectState::instance()->m_SendDetectStr2Net == (int)true);
QCheckBox *m_SendChannelRes2Net = new QCheckBox;
m_SendChannelRes2Net->setText(tr("网络发送通道结果"));
m_SendChannelRes2Net->setObjectName("m_SendChannelRes2Net");
connect(m_SendChannelRes2Net, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_SendChannelRes2Net->setChecked(DetectState::instance()->m_SendChannelRes2Net == (int)true);
QCheckBox *m_UseRaster = new QCheckBox;
m_UseRaster->setText(tr("使用光栅获取厚度"));
m_UseRaster->setObjectName("m_UseRaster");
connect(m_UseRaster, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_UseRaster->setChecked(DetectState::instance()->m_IsUseRaster == 1);
QCheckBox *m_SaveD2HCsv = new QCheckBox;
m_SaveD2HCsv->setText(tr("保存数据用于测试"));
m_SaveD2HCsv->setObjectName("m_SaveD2HCsv");
connect(m_SaveD2HCsv, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_SaveD2HCsv->setChecked(DetectState::instance()->m_SaveD2HCsv == 1);
QCheckBox *m_IsUseChannel = new QCheckBox;
m_IsUseChannel->setText(tr("是否使用通道分配"));
m_IsUseChannel->setObjectName("m_IsUseChannel");
connect(m_IsUseChannel, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_IsUseChannel->setChecked(DetectState::instance()->m_IsUseChannel == 1);
QCheckBox *m_StartAndDetect = new QCheckBox;
m_StartAndDetect->setText(tr("是否启动就开始检测"));
m_StartAndDetect->setObjectName("m_StartAndDetect");
connect(m_StartAndDetect, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_StartAndDetect->setChecked(DetectState::instance()->m_StartAndDetect == 1);
QCheckBox *m_showThressValue = new QCheckBox;
m_showThressValue->setText(tr("是否显示"));
m_showThressValue->setObjectName("m_showThressValue");
connect(m_showThressValue, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_showThressValue->setChecked(DetectState::instance()->m_showThressValue == 1);
QCheckBox *m_showThressList = new QCheckBox;
m_showThressList->setText(tr("是否显示"));
m_showThressList->setObjectName("m_showThressList");
connect(m_showThressList, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_showThressList->setChecked(DetectState::instance()->m_showThressList == 1);
QPushButton *m_DebugSave = new QPushButton(tr("保存"));
m_DebugSave->setObjectName("m_DebugSave");
connect(m_DebugSave, SIGNAL(clicked()), this, SLOT(onTreeWidgetButton()));
pTreewidget->setItemWidget(developitems.at(0), 1, m_DebugSave);
pTreewidget->setItemWidget(developitems.at(1), 1, m_pCameraTrgType);
pTreewidget->setItemWidget(developitems.at(2), 1, m_pCameraTrgTimes);
pTreewidget->setItemWidget(developitems.at(3), 1, m_pDebugModel);
pTreewidget->setItemWidget(developitems.at(4), 1, m_pSystype);
pTreewidget->setItemWidget(developitems.at(5), 1, m_AutoSendTick2COM);
pTreewidget->setItemWidget(developitems.at(6), 1, m_AutoSendTick2Net);
pTreewidget->setItemWidget(developitems.at(7), 1, m_SendChannelRes2COM);
pTreewidget->setItemWidget(developitems.at(8), 1, m_SendDetectStr2Net);
pTreewidget->setItemWidget(developitems.at(9), 1, m_SendChannelRes2Net);
pTreewidget->setItemWidget(developitems.at(10), 1, m_UseRaster);
pTreewidget->setItemWidget(developitems.at(11), 1, m_SaveD2HCsv);
pTreewidget->setItemWidget(developitems.at(12), 1, m_IsUseChannel);
pTreewidget->setItemWidget(developitems.at(13), 1, m_StartAndDetect);
pTreewidget->setItemWidget(developitems.at(14), 1, m_showThressValue);
pTreewidget->setItemWidget(developitems.at(15), 1, m_showThressList);
m_listObj.append(m_DebugSave);
m_listObj.append(m_pCameraTrgType);
m_listObj.append(m_pCameraTrgTimes);
m_listObj.append(m_pDebugModel);
m_listObj.append(m_pSystype);
m_listObj.append(m_AutoSendTick2COM);
m_listObj.append(m_AutoSendTick2Net);
m_listObj.append(m_SendChannelRes2COM);
m_listObj.append(m_SendDetectStr2Net);
m_listObj.append(m_SendChannelRes2Net);
m_listObj.append(m_UseRaster);
m_listObj.append(m_SaveD2HCsv);
m_listObj.append(m_IsUseChannel);
m_listObj.append(m_StartAndDetect);
m_listObj.append(m_showThressValue);
m_listObj.append(m_showThressList);
developitems.at(0)->setSizeHint(1, QSize(100, 30));
developitems.at(1)->setSizeHint(1, QSize(100, 30));
developitems.at(2)->setSizeHint(1, QSize(100, 30));
developitems.at(3)->setSizeHint(1, QSize(100, 30));
developitems.at(4)->setSizeHint(1, QSize(100, 30));
developitems.at(5)->setSizeHint(1, QSize(100, 30));
developitems.at(6)->setSizeHint(1, QSize(100, 30));
developitems.at(7)->setSizeHint(1, QSize(100, 30));
developitems.at(8)->setSizeHint(1, QSize(100, 30));
developitems.at(9)->setSizeHint(1, QSize(100, 30));
developitems.at(10)->setSizeHint(1, QSize(100, 30));
developitems.at(11)->setSizeHint(1, QSize(100, 30));
developitems.at(12)->setSizeHint(1, QSize(100, 30));
developitems.at(13)->setSizeHint(1, QSize(100, 30));
developitems.at(14)->setSizeHint(1, QSize(100, 30));
developitems.at(15)->setSizeHint(1, QSize(100, 30));
InitDebugTree();
}
void QSystemSettingDlg::HidPLCUI(bool nflag)
{
ui.treeWidget->setItemHidden(PLCitems.at(7), nflag);
ui.treeWidget->setItemHidden(PLCitems.at(8), nflag);
ui.treeWidget->setItemHidden(PLCitems.at(9), nflag);
ui.treeWidget->setItemHidden(PLCitems.at(10), nflag);
}
void QSystemSettingDlg::HidDevelopUI(bool nflag)
{
ui.treeWidget->setItemHidden(developitems.at(0), nflag);
ui.treeWidget->setItemHidden(developitems.at(1), nflag);
ui.treeWidget->setItemHidden(developitems.at(2), nflag);
ui.treeWidget->setItemHidden(developitems.at(3), nflag);
ui.treeWidget->setItemHidden(developitems.at(4), nflag);
ui.treeWidget->setItemHidden(developitems.at(5), nflag);
ui.treeWidget->setItemHidden(developitems.at(6), nflag);
ui.treeWidget->setItemHidden(developitems.at(7), nflag);
ui.treeWidget->setItemHidden(developitems.at(8), nflag);
ui.treeWidget->setItemHidden(developitems.at(9), nflag);
ui.treeWidget->setItemHidden(developitems.at(10), nflag);
ui.treeWidget->setItemHidden(developitems.at(11), nflag);
ui.treeWidget->setItemHidden(developitems.at(12), nflag);
ui.treeWidget->setItemHidden(developitems.at(13), nflag);
ui.treeWidget->setItemHidden(developitems.at(14), nflag);
ui.treeWidget->setItemHidden(developitems.at(15), nflag);
}
void QSystemSettingDlg::InitDebugTree(void)
{
if (m_pCameraTrgType)
{
if (DetectState::instance()->m_Virtual_Camera == 1)
m_pCameraTrgType->setCurrentText(DEVELOP_DETECT_CAMERE_VIRSUAL);
else
m_pCameraTrgType->setCurrentText(DEVELOP_DETECT_CAMERE_TRUE);
}
if (m_pCameraTrgTimes)
m_pCameraTrgTimes->setValue(DetectState::instance()->m_Visural_Time);
if (m_pDebugModel)
{
if (DetectState::instance()->m_Debug == 100)
m_pDebugModel->setCurrentText(DEVELOP_DETECT_DEBUG_NOUSER);
else
m_pDebugModel->setCurrentText(DEVELOP_DETECT_DEBUG_USER);
}
if (m_pSystype)
{
if (DetectState::instance()->m_CameraTrigeType == 1)
m_pSystype->setCurrentText(DEVELOP_DETECT_CAM_OUTTRIGER);
else
m_pSystype->setCurrentText(DEVELOP_DETECT_CAM_SOFTER);
}
}
Q_SLOT void QSystemSettingDlg::onCheckstateChanged(int state)
{
QString strObj = sender()->objectName();
if (strObj == "m_saveImgRes_good") {
DetectState::instance()->saveCutGood = int(state == 2);
}
else if (strObj == "m_saveImgRes_bad") {
DetectState::instance()->saveCutBad = int(state == 2);
}
else if (strObj == "m_saveImgSrc_good") {
DetectState::instance()->saveGood = int(state == 2);
}
else if (strObj == "m_saveImgSrc_bad") {
DetectState::instance()->saveBad = int(state == 2);
}
else if (strObj == "m_ResAll2A") {
DetectState::instance()->m_bObjAll2A = (state == 2 ? true : false);
}
else if (strObj == "m_AutoSendTick2COM") {
DetectState::instance()->m_AutoSendTick2COM = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_AutoSendTick2Net") {
DetectState::instance()->m_AutoSendTick2Net = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_SendDetectStr2Net") {
DetectState::instance()->m_SendDetectStr2Net = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_SendChannelRes2Net") {
DetectState::instance()->m_SendChannelRes2Net = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_SendChannelRes2COM") {
DetectState::instance()->m_SendChannelRes2COM = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_UseRaster") {
DetectState::instance()->m_IsUseRaster = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_SaveD2HCsv") {
DetectState::instance()->m_SaveD2HCsv = int(state == 2);
}
else if (strObj == "m_IsUseChannel") {
DetectState::instance()->m_IsUseChannel = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_StartAndDetect") {
DetectState::instance()->m_StartAndDetect = int(state == 2);
DetectState::instance()->saveDeteImage();
}
else if (strObj == "m_PLC_RestartSeverCount") {
DetectState::instance()->m_PLC_RestartSeverCount = int(state == 2);
DetectState::instance()->savePLCPara();
}
else if (strObj == "m_PLC_ShowTimerOutMsg") {
DetectState::instance()->m_PLC_ShowTimerOutMsg = int(state == 2);
DetectState::instance()->savePLCPara();
}
else if (strObj == "m_PLC_IsResServer") {
DetectState::instance()->m_PLC_IsResServer = int(state == 2);
DetectState::instance()->savePLCPara();
}
else if (strObj == "m_PLC_SaveMsgInLog") {
DetectState::instance()->m_PLC_SaveMsgInLog = int(state == 2);
DetectState::instance()->savePLCPara();
}
else if (strObj == "m_showThressValue") {
DetectState::instance()->m_showThressValue = int(state == 2);
}
else if (strObj == "m_showThressList") {
DetectState::instance()->m_showThressList = int(state == 2);
}
}
Q_SLOT void QSystemSettingDlg::onSetCurrentIndex(int nIndex)
{
for (QMap<QString, QTreeWidgetItem*>::iterator pp = m_TreeItemMap.begin(); pp != m_TreeItemMap.end(); ++pp)
{
(*pp)->setExpanded(false);
}
QString strname = ui.listWidget->item(nIndex)->data(0).toString();
if (m_TreeItemMap.contains(strname))
{
QTreeWidgetItem *p = m_TreeItemMap.value(strname);
if (p) {
ui.treeWidget->setCurrentItem(p, QItemSelectionModel::SelectCurrent);
p->setExpanded(true);
}
}
}
Q_SLOT void QSystemSettingDlg::onSavePLCPara()
{
{
DetectState::instance()->m_PLC_TrigerFilter = m_PLCTrigerFilter->value();
DetectState::instance()->m_PLC_CamTrigDelay = m_PLCCameraDelay->value();
DetectState::instance()->m_PLC_CamTrigPulse = m_PLCCameraPulse->value();
DetectState::instance()->m_PLC_LightDelay = m_PLCLightDelay->value();
DetectState::instance()->m_PLC_RestartSeverCount = m_PLC_RestartSeverCount->value();
DetectState::instance()->m_PLC_ResHoldTime = m_PLCResHoldTime->value();
if (m_PLCTrigerType->currentText() == DEVELOP_PLC_TRIGER_DOWM)
DetectState::instance()->m_PLC_TrigerType = 0;
else if (m_PLCTrigerType->currentText() == DEVELOP_PLC_TRIGER_UP)
DetectState::instance()->m_PLC_TrigerType = 1;
DetectState::instance()->savePLCPara();
// QVariant nType = QVariant(WF_PLCPARA);
// emit(sgGenalData(nType, WF_PARASET));
// emit sgShowMsg(tr("数据已发送并保存"));
}
}
void QSystemSettingDlg::readSettingFile()
{
if (m_setting) {
QString m_str = "/CheckThread/";
nCheckDays = m_setting->value(m_str + "days", 7).toInt();
nCheckThreadEable = m_setting->value(m_str + "IsUse", true).toBool();
}
}
void QSystemSettingDlg::writeSettingFile()
{
if (m_setting) {
QString m_str = "/CheckThread/";
m_setting->setValue(m_str + "days", nCheckDays);
m_setting->setValue(m_str + "IsUse", nCheckThreadEable);
}
}
Q_SLOT void QSystemSettingDlg::onChangeBG()
{
QFileDialog fileDialog;
fileDialog.setWindowTitle(tr("请选择您的背景图"));
fileDialog.setNameFilter("Picture(*.bmp *.jpg *.png)");
fileDialog.setFileMode(QFileDialog::ExistingFiles);
if (fileDialog.exec() == QDialog::Accepted)
{
QStringList backgroundFile = fileDialog.selectedFiles();
if (backgroundFile.size() > 0)
{
QString DstPath = /*m_pCtrl->appRoot() +*/ "\\user\\background.png";
QString sourcePath = backgroundFile.at(0);
DstPath.replace("\\", "/");
if (sourcePath == DstPath) {
// //return;
// //return true;
}
if (!QFile::exists(sourcePath)) {
//return false;
}
QDir *createfile = new QDir;
bool exist = createfile->exists(DstPath);
if (exist) {
//if (converFileIfExist){
createfile->remove(DstPath);
//}
}
if (!QFile::copy(sourcePath, DstPath)) {
//return false;
}
//emit sgChangeBG(DstPath);
QMessageBox infobox(QMessageBox::Information, tr("提示"), tr("背景图更新完成,请重启本软件."), QMessageBox::Yes, NULL);
infobox.setWindowIcon(QIcon(":/image/leaper"));
infobox.setButtonText(QMessageBox::Yes, tr("确认"));
infobox.exec();
}
}
}
void QSystemSettingDlg::showEvent(QShowEvent *event)
{
}
Q_SLOT void QSystemSettingDlg::onTreeWidgetButton()
{
QString strObj = sender()->objectName();
if (strObj == "m_IsModfy")
{
// m_ComScan->setDisabled(false);
// m_ComBoxName->setDisabled(false);
// m_ComBoxBaut->setDisabled(false);
// pSaveButton->setDisabled(false);
}
else if (strObj == "m_ComScan")
{
// disconnect(m_ComBoxBaut,0,0,0);
// disconnect(m_ComBoxName,0,0,0);
// m_ComBoxName->clear();
// QStringList m_NameList;
// foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
// {
// QString comportInfo = info.portName();
// if (!m_NameList.contains(comportInfo))
// m_NameList.append(comportInfo);
// }
// m_ComBoxName->addItems(m_NameList);
//
// if (m_ComName){
// m_ComBoxName->setCurrentText(m_ComName->text());
// }
// if (m_ComBaut){
// m_ComBoxBaut->setCurrentText(m_ComBaut->text());
// }
// connect(m_ComBoxBaut, SIGNAL(currentIndexChanged(int)), this, SLOT(oncurrentIndexChanged(int)));
// connect(m_ComBoxName, SIGNAL(currentIndexChanged(int)), this, SLOT(oncurrentIndexChanged(int)));
}
else if (strObj == "m_Language") {
}
else if (strObj == "m_DebugSave" || strObj == "pSavePara")
{
if (m_pCameraTrgType) {
if (m_pCameraTrgType->currentText() == DEVELOP_DETECT_CAMERE_VIRSUAL)
DetectState::instance()->m_Virtual_Camera = 1;
else
DetectState::instance()->m_Virtual_Camera = 0;
}
if (m_pCameraTrgTimes) {
DetectState::instance()->m_Visural_Time = m_pCameraTrgTimes->value();
}
if (m_pDebugModel) {
if (m_pDebugModel->currentText() == DEVELOP_DETECT_DEBUG_NOUSER)
DetectState::instance()->m_Debug = 100;
else
DetectState::instance()->m_Debug = 1001;
}
if (m_pSystype) {
if (m_pSystype->currentText() == DEVELOP_DETECT_CAM_OUTTRIGER)
DetectState::instance()->m_CameraTrigeType = 1;
else
DetectState::instance()->m_CameraTrigeType = 0;
}
DetectState::instance()->saveDeteImage();
//emit sgShowMsg(tr("保存完成"));
}
}
Q_SLOT void QSystemSettingDlg::oncurrentChanged(const QString &str)
{
QString strObjName = sender()->objectName();
if ("m_Language" == strObjName) {
//emit(sgGenalData("languageSeting", str));
}
}
Q_SLOT void QSystemSettingDlg::onChangeBackground()
{
QShowImg m_showImgDlg(this);
m_showImgDlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
m_showImgDlg.setWindowModality(Qt::ApplicationModal);
m_showImgDlg.setAttribute(Qt::WA_ShowModal, true);
m_showImgDlg.setWindowIcon(QIcon(":/image/leaper"));
QString DstPath = ".\\user\\background.png";
connect(&m_showImgDlg, SIGNAL(sgChangeImg()), this, SLOT(onChangeBG()));
connect(this, SIGNAL(sgChangeBG(QString)), &m_showImgDlg, SLOT(setPicPath(QString)));
m_showImgDlg.setPicPath(DstPath);
m_showImgDlg.exec();
}
Q_SLOT void QSystemSettingDlg::onOpenDataPath()
{
QString strObj = sender()->objectName();
if ("pbOpenImgPath" == strObj)
{
QString strpath = DetectState::instance()->m_SaveImgDirPath + "/Data";
bool bFalg = QDesktopServices::openUrl(QUrl(strpath, QUrl::TolerantMode));
if (!bFalg)
{
bool bFalgs = QDesktopServices::openUrl(QUrl(DetectState::instance()->m_SaveImgDirPath, QUrl::TolerantMode));
if (!bFalgs)
{
}
}
}
else if ("pbSetSavePath" == strObj)
{
QString dir = QFileDialog::getExistingDirectory(NULL, tr("打开文件夹"), QString(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
if (!dir.isEmpty())
{
if (m_pLbShowPath)
m_pLbShowPath->setText(dir);
DetectState::instance()->m_SaveImgDirPath = dir;
if (pDiskCleanThread)
pDiskCleanThread->SetImgStorageFolder(dir + "/Data");
}
}
}
Q_SLOT void QSystemSettingDlg::onLightTest()
{
QVariant nType = QVariant(WF_LIFHT);
QString strObj = sender()->objectName();
if (strObj == "redLight")
{
//emit(sgGenalData(nType, LIGHT_REDBEE));
}
else if (strObj == "grenLight") {
//emit(sgGenalData(nType, LIGHT_GREENBEE));
}
else if (strObj == "yellLight") {
//emit(sgGenalData(nType, LIGHT_YELLOWBEE));
}
else if (strObj == "beeLight") {
//emit(sgGenalData(nType, LIGHT_BEE));
}
}