2023-04-14 19:30:30 +08:00
|
|
|
#include "mainwindow.h"
|
|
|
|
|
#include "ui_mainwindow.h"
|
|
|
|
|
#include <QFile>
|
|
|
|
|
#include "quihelper.h"
|
|
|
|
|
#include "NetMgr.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MainWindow::MainWindow(QWidget *parent) :
|
|
|
|
|
QWidget(parent),
|
|
|
|
|
ui(new Ui::MainWindow)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
g_SqliteDB->OpenDataBase();
|
|
|
|
|
|
|
|
|
|
g_NetMgr = new NetMgr(this);
|
|
|
|
|
g_FtpClient = new FtpClient();
|
|
|
|
|
|
|
|
|
|
this->initWindow();
|
|
|
|
|
this->initStyle();
|
|
|
|
|
|
|
|
|
|
this->initLeft();
|
|
|
|
|
this->initLeft2();
|
|
|
|
|
this->initLeft3();
|
|
|
|
|
this->initLeft4();
|
|
|
|
|
myTimer = new QTimer(this);
|
|
|
|
|
myTimer->start(1000);
|
|
|
|
|
connect(myTimer,SIGNAL(timeout()),this,SLOT(GetDateTime()));
|
|
|
|
|
this ->setWindowFlags(Qt::Window);
|
|
|
|
|
//this ->showFullScreen();
|
|
|
|
|
pRealTimeForm = NULL;
|
|
|
|
|
pChannelSetting = NULL;
|
|
|
|
|
pUnitSetting = NULL;
|
|
|
|
|
pBoardSetting = NULL;
|
|
|
|
|
pChannelList = NULL;
|
|
|
|
|
pWorkCondition = NULL;
|
|
|
|
|
pTriggerConfig = NULL;
|
|
|
|
|
pFileServerConfig = NULL;
|
|
|
|
|
pNTPServerConfig = NULL;
|
|
|
|
|
pPSConfig = NULL;
|
|
|
|
|
pCharacteristcList = NULL;
|
|
|
|
|
pWaveDisPlay = NULL;
|
|
|
|
|
pConfiguration = NULL;
|
|
|
|
|
pRealTimeAlarm = NULL;
|
|
|
|
|
pHistoryAlarm = NULL;
|
|
|
|
|
pTrendGraph = NULL;
|
|
|
|
|
pTerminalInfo = NULL;
|
|
|
|
|
pSystemSelfcheck = NULL;
|
|
|
|
|
pDIOBoard = NULL;
|
|
|
|
|
ui->tabWidget_main->tabBar()->hide();
|
|
|
|
|
ui->tabWidget_Configuration->tabBar()->hide();
|
|
|
|
|
ui->tabWidget_sysConfig->tabBar()->hide();
|
|
|
|
|
ui->tabWidget_accidentTracing->tabBar()->hide();
|
|
|
|
|
if(pRealTimeForm == NULL)
|
|
|
|
|
pRealTimeForm = new CRealTimeForm (this);
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(0);
|
|
|
|
|
if(pCharacteristcList == NULL)
|
|
|
|
|
pCharacteristcList = new CCharacteristicList (this);
|
|
|
|
|
|
|
|
|
|
ui->tabWidget_main->addTab(pRealTimeForm,"");
|
|
|
|
|
ui->tabWidget_main->addTab(pCharacteristcList,"");
|
|
|
|
|
connect(pRealTimeForm,SIGNAL(sigWCStatus(QString&)), this, SLOT(slotWCStatus(QString&)));
|
|
|
|
|
connect(pRealTimeForm,SIGNAL(sigRPM(QString&)), this, SLOT(slotRPM(QString&)));
|
|
|
|
|
|
2023-04-27 19:48:15 +08:00
|
|
|
|
|
|
|
|
mqttclient = new MqttClient(this);
|
|
|
|
|
mqttclient->ConnectMQTT(IP);
|
|
|
|
|
|
|
|
|
|
m_strTriggerEnevtTopic = QString("up/%1/trigger").arg(MAC);//订阅
|
|
|
|
|
mqttclient->subscribed(m_strTriggerEnevtTopic);
|
|
|
|
|
connect(mqttclient, SIGNAL(Recevive_sig(QString,QByteArray)), this, SLOT(mqttReceive_slot(QString,QByteArray)));
|
|
|
|
|
|
2023-04-14 19:30:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MainWindow::~MainWindow()
|
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
void MainWindow::initWindow()
|
|
|
|
|
{
|
|
|
|
|
//设置无边框
|
|
|
|
|
//QUIHelper::setFramelessForm(this);
|
|
|
|
|
ui->widgetTitle->setProperty("form", "title");
|
|
|
|
|
//关联事件过滤器用于双击放大
|
|
|
|
|
ui->widgetTitle->installEventFilter(this);
|
|
|
|
|
ui->widgetTop->setProperty("nav", "top");
|
|
|
|
|
ui->widgetStatus->setProperty("nav", "bottom");
|
|
|
|
|
//ui->verticalLayout_2->setProperty("nav", "leftbtn");
|
|
|
|
|
ui->widgetLeft->setProperty("flag", "left");
|
|
|
|
|
ui->widgetLeft->setProperty("nav", "left");
|
|
|
|
|
ui->widgetLeft2->setProperty("nav", "left");
|
|
|
|
|
ui->widgetLeft2->setProperty("flag", "left");
|
|
|
|
|
ui->widgetLeft3->setProperty("nav", "left");
|
|
|
|
|
ui->widgetLeft3->setProperty("flag", "left");
|
|
|
|
|
ui->widgetLeft4->setProperty("nav", "left");
|
|
|
|
|
ui->widgetLeft4->setProperty("flag", "left");
|
|
|
|
|
|
|
|
|
|
this->resize(1920,1080);
|
|
|
|
|
|
|
|
|
|
QFont font;
|
|
|
|
|
font.setPixelSize(25);
|
|
|
|
|
// ui->LOGO->setFont(font);
|
|
|
|
|
// ui->LOGO->setText("南瑞nari南瑞nari");
|
|
|
|
|
// ui->LOGO->setPixmap(QPixmap(":/image/logo.png").scaled(288, 108));
|
|
|
|
|
this->setWindowTitle("DataWatch3500");
|
|
|
|
|
|
|
|
|
|
font.setPixelSize(30);
|
|
|
|
|
font.setFamily(QStringLiteral("黑体"));
|
|
|
|
|
ui->label_Name->setFont(font);
|
|
|
|
|
ui->label_Name->setText("南瑞SJ90C状态检测装置状态检测软件V1.0");
|
|
|
|
|
|
|
|
|
|
font.setPixelSize(20);
|
|
|
|
|
ui->label_IP->setFont(font);
|
|
|
|
|
ui->label_Status->setFont(font);
|
|
|
|
|
ui->label_Status->setText("安徽绩溪抽水蓄能电站1号机组");
|
|
|
|
|
if(QUIHelper::getLocalIPs().size() > 0)
|
|
|
|
|
ui->label_IP->setText("IP:" + QUIHelper::getLocalIPs()[0]);
|
|
|
|
|
else
|
|
|
|
|
ui->label_IP->setText("IP: 未获取到");
|
|
|
|
|
|
|
|
|
|
font.setPixelSize(35);
|
|
|
|
|
ui->label_RPM->setFont(font);
|
|
|
|
|
ui->label_RPM->setText("0");
|
|
|
|
|
//设置顶部导航按钮
|
|
|
|
|
QList<QAbstractButton *> tbtns = ui->widgetTop->findChildren<QAbstractButton *>();
|
|
|
|
|
foreach (QAbstractButton *btn, tbtns) {
|
|
|
|
|
//btn->setIconSize(icoSize);
|
|
|
|
|
//btn->setMinimumWidth(icoWidth);
|
|
|
|
|
btn->setCheckable(true);
|
|
|
|
|
connect(btn, SIGNAL(clicked()), this, SLOT(buttonClick()));
|
|
|
|
|
}
|
|
|
|
|
QString tableName = "t_DeviceInfo";
|
|
|
|
|
QString col = "IP,MAC";
|
|
|
|
|
QString str = g_SqliteDB->GetSingelLine(tableName,col);
|
|
|
|
|
QStringList strList = str.split(",");
|
|
|
|
|
IP = strList[0];
|
|
|
|
|
MAC = strList[1];
|
|
|
|
|
qDebug() << "IP" << IP << "MAC" << MAC<< endl;
|
|
|
|
|
|
|
|
|
|
g_MapChannelType.insert("ACCELEROMETER","加速度");
|
|
|
|
|
g_MapChannelType.insert("MICROPHONE","声音");
|
2023-04-17 17:40:26 +08:00
|
|
|
g_MapChannelType.insert("THRUST","轴向位移");
|
2023-04-14 19:30:30 +08:00
|
|
|
g_MapChannelType.insert("VELOCITY","速度");
|
|
|
|
|
g_MapChannelType.insert("TACHOMETER","转速");
|
2023-04-17 17:40:26 +08:00
|
|
|
g_MapChannelType.insert("PROXIMETER","径向振动位移");
|
2023-04-14 19:30:30 +08:00
|
|
|
g_MapChannelType.insert("FAST_VOLTAGE","动态电压");
|
|
|
|
|
g_MapChannelType.insert("SLOW_CURRENT","低速电流");
|
|
|
|
|
g_MapChannelType.insert("PULSE_CURRENT","高速电流");
|
|
|
|
|
g_MapChannelType.insert("DI","开入");
|
|
|
|
|
g_MapChannelType.insert("DO","开出");
|
|
|
|
|
|
|
|
|
|
}
|
2023-04-17 17:40:26 +08:00
|
|
|
|
2023-04-14 19:30:30 +08:00
|
|
|
void MainWindow::initStyle()
|
|
|
|
|
{
|
|
|
|
|
//加载样式表
|
|
|
|
|
QString qss;
|
|
|
|
|
QFile file(":/qss/blacksoft.css");
|
|
|
|
|
if (file.open(QFile::ReadOnly)) {
|
|
|
|
|
qss = QLatin1String(file.readAll());
|
|
|
|
|
QString paletteColor = qss.mid(20, 7);
|
|
|
|
|
qApp->setPalette(QPalette(paletteColor));
|
|
|
|
|
qApp->setStyleSheet(qss);
|
|
|
|
|
file.close();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::initLeft()
|
|
|
|
|
{
|
|
|
|
|
btnsConfig << ui->mainMonitorBtn << ui->characBtn << ui->waveBtn << ui->DIOBtn ;
|
|
|
|
|
|
|
|
|
|
int count = btnsConfig.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QToolButton *btn = (QToolButton *)btnsConfig.at(i);
|
|
|
|
|
btn->setCheckable(true);
|
|
|
|
|
btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
|
|
|
connect(btn, SIGNAL(clicked(bool)), this, SLOT(leftConfigClick()));
|
|
|
|
|
}
|
|
|
|
|
ui->mainMonitorBtn->setChecked(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::leftConfigClick()
|
|
|
|
|
{
|
|
|
|
|
QToolButton *b = (QToolButton *)sender();
|
|
|
|
|
QString name = b->text();
|
|
|
|
|
|
|
|
|
|
int count = btnsConfig.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QAbstractButton *btn = btnsConfig.at(i);
|
|
|
|
|
btn->setChecked(btn == b);
|
|
|
|
|
}
|
|
|
|
|
if(name == "主监视图"){
|
|
|
|
|
ui->tabWidget_main->setCurrentWidget(pRealTimeForm);
|
|
|
|
|
}else if(name == "特征值列表"){
|
|
|
|
|
ui->tabWidget_main->setCurrentWidget(pCharacteristcList);
|
|
|
|
|
|
|
|
|
|
}else if(name == "气隙监测"){
|
|
|
|
|
|
|
|
|
|
}else if(name == "波形图"){
|
|
|
|
|
if(pWaveDisPlay == NULL)
|
|
|
|
|
pWaveDisPlay = new CWaveDisPlay(this);
|
|
|
|
|
ui->tabWidget_main->addTab(pWaveDisPlay,"");
|
|
|
|
|
ui->tabWidget_main->setCurrentWidget(pWaveDisPlay);
|
|
|
|
|
|
|
|
|
|
}else if(name == "开入开出"){
|
|
|
|
|
if(pDIOBoard == NULL)
|
|
|
|
|
pDIOBoard = new CDIO_Board(this);
|
|
|
|
|
ui->tabWidget_main->addTab(pDIOBoard,"");
|
|
|
|
|
ui->tabWidget_main->setCurrentWidget(pDIOBoard);
|
|
|
|
|
}
|
|
|
|
|
//ui->label->setText(name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::initLeft2()
|
|
|
|
|
{
|
|
|
|
|
btnsConfig2 << ui->realTimeClockBtn << ui->historyClockBtn << ui->analysisBtn ;
|
|
|
|
|
|
|
|
|
|
int count = btnsConfig2.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QToolButton *btn = (QToolButton *)btnsConfig2.at(i);
|
|
|
|
|
btn->setCheckable(true);
|
|
|
|
|
btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
|
|
|
connect(btn, SIGNAL(clicked(bool)), this, SLOT(leftConfigClick2()));
|
|
|
|
|
}
|
|
|
|
|
ui->realTimeClockBtn->setChecked(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::leftConfigClick2()
|
|
|
|
|
{
|
|
|
|
|
QToolButton *b = (QToolButton *)sender();
|
|
|
|
|
QString name = b->text();
|
|
|
|
|
qDebug() << "name" << name << endl;
|
|
|
|
|
int count = btnsConfig2.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QAbstractButton *btn = btnsConfig2.at(i);
|
|
|
|
|
btn->setChecked(btn == b);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(name == "实时报警"){
|
|
|
|
|
ui->tabWidget_accidentTracing->setCurrentWidget(pRealTimeAlarm);
|
|
|
|
|
}else if(name == "历史报警"){
|
|
|
|
|
ui->tabWidget_accidentTracing->setCurrentWidget(pHistoryAlarm);
|
|
|
|
|
}else if(name == "趋势分析"){
|
|
|
|
|
ui->tabWidget_accidentTracing->setCurrentWidget(pTrendGraph);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::initLeft3()
|
|
|
|
|
{
|
|
|
|
|
btnsConfig3 << ui->unitSettingBtn << ui->boardSettingBtn << ui->channelSettingBtn \
|
|
|
|
|
<< ui->workConditionBtn << ui->triggerBtn << ui->configurationBtn;
|
|
|
|
|
|
|
|
|
|
int count = btnsConfig3.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QToolButton *btn = (QToolButton *)btnsConfig3.at(i);
|
|
|
|
|
btn->setCheckable(true);
|
|
|
|
|
btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
|
|
|
connect(btn, SIGNAL(clicked(bool)), this, SLOT(leftConfigClick3()));
|
|
|
|
|
}
|
|
|
|
|
ui->unitSettingBtn->setChecked(true);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::leftConfigClick3()
|
|
|
|
|
{
|
|
|
|
|
QToolButton *b = (QToolButton *)sender();
|
|
|
|
|
QString name = b->text();
|
|
|
|
|
|
|
|
|
|
int count = btnsConfig3.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QAbstractButton *btn = btnsConfig3.at(i);
|
|
|
|
|
btn->setChecked(btn == b);
|
|
|
|
|
}
|
|
|
|
|
if(name == "机组配置"){
|
|
|
|
|
|
|
|
|
|
ui->tabWidget_Configuration->setCurrentWidget(pUnitSetting);
|
|
|
|
|
}else if(name == "板卡配置"){
|
|
|
|
|
if(pBoardSetting == NULL)
|
|
|
|
|
pBoardSetting = new CBoardSetting (this);
|
|
|
|
|
ui->tabWidget_Configuration->addTab(pBoardSetting,"");
|
|
|
|
|
ui->tabWidget_Configuration->setCurrentWidget(pBoardSetting);
|
|
|
|
|
if(pChannelList){
|
|
|
|
|
delete pChannelList;
|
|
|
|
|
pChannelList = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pWorkCondition){
|
|
|
|
|
delete pWorkCondition;
|
|
|
|
|
pWorkCondition = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pTriggerConfig){
|
|
|
|
|
delete pTriggerConfig;
|
|
|
|
|
pTriggerConfig = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pConfiguration){
|
|
|
|
|
delete pConfiguration;
|
|
|
|
|
pConfiguration = NULL;
|
|
|
|
|
}
|
|
|
|
|
}else if(name == "通道配置"){
|
|
|
|
|
if(pChannelList == NULL)
|
|
|
|
|
pChannelList = new CChannelList (this);
|
|
|
|
|
ui->tabWidget_Configuration->addTab(pChannelList,"");
|
|
|
|
|
ui->tabWidget_Configuration->setCurrentWidget(pChannelList);
|
|
|
|
|
if(pBoardSetting){
|
|
|
|
|
delete pBoardSetting;
|
|
|
|
|
pBoardSetting = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pWorkCondition){
|
|
|
|
|
delete pWorkCondition;
|
|
|
|
|
pWorkCondition = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pTriggerConfig){
|
|
|
|
|
delete pTriggerConfig;
|
|
|
|
|
pTriggerConfig = NULL;
|
|
|
|
|
}
|
|
|
|
|
// if(pUnitConfiguration){
|
|
|
|
|
// delete pUnitConfiguration;
|
|
|
|
|
// pUnitConfiguration = NULL;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// if(pTestForm){
|
|
|
|
|
// delete pTestForm;
|
|
|
|
|
// pTestForm = NULL;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
}else if(name == "工况配置"){
|
|
|
|
|
if(pWorkCondition == NULL)
|
|
|
|
|
pWorkCondition = new CWorkingcondition (this);
|
|
|
|
|
ui->tabWidget_Configuration->addTab(pWorkCondition,"");
|
|
|
|
|
ui->tabWidget_Configuration->setCurrentWidget(pWorkCondition);
|
|
|
|
|
if(pBoardSetting){
|
|
|
|
|
delete pBoardSetting;
|
|
|
|
|
pBoardSetting = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pChannelList){
|
|
|
|
|
delete pChannelList;
|
|
|
|
|
pChannelList = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pTriggerConfig){
|
|
|
|
|
delete pTriggerConfig;
|
|
|
|
|
pTriggerConfig = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pConfiguration){
|
|
|
|
|
delete pConfiguration;
|
|
|
|
|
pConfiguration = NULL;
|
|
|
|
|
}
|
|
|
|
|
}else if(name == "触发配置"){
|
|
|
|
|
if(pTriggerConfig == NULL)
|
|
|
|
|
pTriggerConfig = new CTriggerConfig (this);
|
|
|
|
|
ui->tabWidget_Configuration->addTab(pTriggerConfig,"");
|
|
|
|
|
ui->tabWidget_Configuration->setCurrentWidget(pTriggerConfig);
|
|
|
|
|
if(pBoardSetting){
|
|
|
|
|
delete pBoardSetting;
|
|
|
|
|
pBoardSetting = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pChannelList){
|
|
|
|
|
delete pChannelList;
|
|
|
|
|
pChannelList = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pWorkCondition){
|
|
|
|
|
delete pWorkCondition;
|
|
|
|
|
pWorkCondition = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pConfiguration){
|
|
|
|
|
delete pConfiguration;
|
|
|
|
|
pConfiguration = NULL;
|
|
|
|
|
}
|
|
|
|
|
}else if(name == "组态报警"){
|
|
|
|
|
|
|
|
|
|
if(pConfiguration == NULL)
|
|
|
|
|
pConfiguration = new CConfiguration (this);
|
|
|
|
|
else
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
//pConfiguration->Init();
|
|
|
|
|
ui->tabWidget_Configuration->addTab(pConfiguration,"");
|
|
|
|
|
ui->tabWidget_Configuration->setCurrentWidget(pConfiguration);
|
|
|
|
|
|
|
|
|
|
if(pBoardSetting){
|
|
|
|
|
delete pBoardSetting;
|
|
|
|
|
pBoardSetting = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pChannelList){
|
|
|
|
|
delete pChannelList;
|
|
|
|
|
pChannelList = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pWorkCondition){
|
|
|
|
|
delete pWorkCondition;
|
|
|
|
|
pWorkCondition = NULL;
|
|
|
|
|
}
|
|
|
|
|
if(pTriggerConfig){
|
|
|
|
|
delete pTriggerConfig;
|
|
|
|
|
pTriggerConfig = NULL;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//ui->label->setText(name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::initLeft4()
|
|
|
|
|
{
|
|
|
|
|
btnsConfig4 << ui->serverConfigBtn << ui->NTPConfigBtn << \
|
|
|
|
|
ui->systemSelfinspectionBtn << ui->terminalDetailsBtn\
|
|
|
|
|
<< ui->channelCalibrationBtn ;
|
|
|
|
|
|
|
|
|
|
int count = btnsConfig4.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QToolButton *btn = (QToolButton *)btnsConfig4.at(i);
|
|
|
|
|
btn->setCheckable(true);
|
|
|
|
|
btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
|
|
|
connect(btn, SIGNAL(clicked(bool)), this, SLOT(leftConfigClick4()));
|
|
|
|
|
}
|
|
|
|
|
ui->serverConfigBtn->setChecked(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::leftConfigClick4()
|
|
|
|
|
{
|
|
|
|
|
QToolButton *b = (QToolButton *)sender();
|
|
|
|
|
QString name = b->text();
|
|
|
|
|
|
|
|
|
|
int count = btnsConfig4.count();
|
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
|
|
|
QAbstractButton *btn = btnsConfig4.at(i);
|
|
|
|
|
btn->setChecked(btn == b);
|
|
|
|
|
}
|
|
|
|
|
if(name == "网络配置"){
|
|
|
|
|
ui->tabWidget_sysConfig->setCurrentWidget(pFileServerConfig);
|
|
|
|
|
if(pTerminalInfo){
|
|
|
|
|
delete pTerminalInfo;
|
|
|
|
|
pTerminalInfo = NULL;
|
|
|
|
|
}
|
|
|
|
|
}else if(name == "时间配置"){
|
|
|
|
|
ui->tabWidget_sysConfig->setCurrentWidget(pNTPServerConfig);
|
|
|
|
|
if(pTerminalInfo){
|
|
|
|
|
delete pTerminalInfo;
|
|
|
|
|
pTerminalInfo = NULL;
|
|
|
|
|
}
|
|
|
|
|
}else if(name == "终端详情"){
|
|
|
|
|
if(pTerminalInfo == NULL)
|
|
|
|
|
pTerminalInfo = new CTerminalInfo (this);
|
|
|
|
|
ui->tabWidget_sysConfig->addTab(pTerminalInfo,"");
|
|
|
|
|
ui->tabWidget_sysConfig->setCurrentWidget(pTerminalInfo);
|
|
|
|
|
}else if(name == "系统自检"){
|
|
|
|
|
ui->tabWidget_sysConfig->setCurrentWidget(pSystemSelfcheck);
|
|
|
|
|
if(pTerminalInfo){
|
|
|
|
|
delete pTerminalInfo;
|
|
|
|
|
pTerminalInfo = NULL;
|
|
|
|
|
}
|
2023-04-27 19:48:15 +08:00
|
|
|
}else if(name == "通道标定"){
|
|
|
|
|
QProcess process(this);
|
|
|
|
|
process.startDetached(".\\Calibration\\NARI3500Calibration.exe");
|
2023-04-14 19:30:30 +08:00
|
|
|
}
|
|
|
|
|
//ui->label->setText(name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::GetDateTime()
|
|
|
|
|
{
|
|
|
|
|
QDateTime timeNow = QDateTime::currentDateTime();
|
|
|
|
|
QFont font;
|
|
|
|
|
font.setPixelSize(20);
|
|
|
|
|
ui->label_Time->setFont(font);
|
|
|
|
|
ui->label_Time->setText(tr("%1").arg(timeNow.toString(" yyyy/MM/dd \nhh:mm:ss ddd")));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
void MainWindow::buttonClick()
|
|
|
|
|
{
|
|
|
|
|
QAbstractButton *b = (QAbstractButton *)sender();
|
|
|
|
|
QString name = b->text();
|
|
|
|
|
|
|
|
|
|
QList<QAbstractButton *> tbtns = ui->widgetTop->findChildren<QAbstractButton *>();
|
|
|
|
|
foreach (QAbstractButton *btn, tbtns) {
|
|
|
|
|
btn->setChecked(btn == b);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (name == "实时监测") {
|
|
|
|
|
if(pRealTimeForm == NULL)
|
|
|
|
|
pRealTimeForm = new CRealTimeForm (this);
|
|
|
|
|
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(0);
|
|
|
|
|
|
|
|
|
|
} else if (name == "事故追溯") {
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(1);
|
|
|
|
|
if(pRealTimeAlarm == NULL)
|
|
|
|
|
pRealTimeAlarm = new CRealTimeAlarm(this);
|
|
|
|
|
|
|
|
|
|
if(pHistoryAlarm == NULL)
|
|
|
|
|
pHistoryAlarm = new CHistoryAlarm(this);
|
|
|
|
|
|
|
|
|
|
if(pTrendGraph == NULL)
|
|
|
|
|
pTrendGraph = new CTrendGraph(this);
|
|
|
|
|
|
|
|
|
|
ui->tabWidget_accidentTracing->addTab(pRealTimeAlarm,"");
|
|
|
|
|
ui->tabWidget_accidentTracing->addTab(pHistoryAlarm,"");
|
|
|
|
|
ui->tabWidget_accidentTracing->addTab(pTrendGraph,"");
|
|
|
|
|
} else if (name == "数据组态") {
|
|
|
|
|
if(pUnitSetting == NULL){
|
|
|
|
|
pUnitSetting = new CUnitSetting (this);
|
|
|
|
|
ui->unitSettingBtn->setChecked(true);
|
|
|
|
|
ui->tabWidget_Configuration->addTab(pUnitSetting,"");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(2);
|
|
|
|
|
|
|
|
|
|
} else if (name == "系统设置") {
|
|
|
|
|
if(pFileServerConfig == NULL)
|
|
|
|
|
pFileServerConfig = new CFileServerConfig (this);
|
|
|
|
|
if(pNTPServerConfig == NULL)
|
|
|
|
|
pNTPServerConfig = new CNTPServerConfig (this);
|
|
|
|
|
// if(pTerminalInfo == NULL)
|
|
|
|
|
// pTerminalInfo = new CTerminalInfo (this);
|
|
|
|
|
if(pSystemSelfcheck == NULL)
|
|
|
|
|
pSystemSelfcheck = new CSystemSelfcheck (this);
|
|
|
|
|
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(3);
|
|
|
|
|
ui->tabWidget_sysConfig->addTab(pFileServerConfig,"");
|
|
|
|
|
ui->tabWidget_sysConfig->addTab(pNTPServerConfig,"");
|
|
|
|
|
//ui->tabWidget_sysConfig->addTab(pTerminalInfo,"");
|
|
|
|
|
ui->tabWidget_sysConfig->addTab(pSystemSelfcheck,"");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MainWindow::slotWCStatus(QString& strWCStatus)
|
|
|
|
|
{
|
|
|
|
|
QStringList strList = strWCStatus.split(",");
|
|
|
|
|
ui->label_WC->setText(strList[1]);
|
|
|
|
|
ui->label_Trg->setText(strList[0]);
|
|
|
|
|
}
|
2023-04-27 19:48:15 +08:00
|
|
|
|
2023-04-14 19:30:30 +08:00
|
|
|
void MainWindow::slotRPM(QString& str)
|
|
|
|
|
{
|
|
|
|
|
ui->label_RPM->setText(str);
|
2023-04-27 19:48:15 +08:00
|
|
|
}
|
2023-04-14 19:30:30 +08:00
|
|
|
|
2023-04-27 19:48:15 +08:00
|
|
|
void MainWindow::mqttReceive_slot(QString strTopic,QByteArray payload)
|
|
|
|
|
{
|
|
|
|
|
if(strTopic == m_strTriggerEnevtTopic){
|
|
|
|
|
QString strReceive = QString(payload);
|
|
|
|
|
}
|
2023-04-14 19:30:30 +08:00
|
|
|
}
|