#include #include #include #include #include #include #include #include #include #include #include #include "./MonitorUI/MonitorUI.h" #include "./AnalyticUI/ClearanceAnalyticUI.h" #include "./AnalyticUI/FlangeAnalyticUI.h" #include "./AnalyticUI/GyroscopeAnalyticUI.h" #pragma execution_character_set("utf-8") class MainWindow:public QMainWindow { public: QWidget *centralwidget; QVBoxLayout *verticalLayout; QWidget *titleWidget; QHBoxLayout *horizontalLayout; QSpacerItem *horizontalSpacer; QPushButton *minButton; QPushButton *closeButton; QHBoxLayout *tabLayout; QPushButton *monitorButton; QPushButton *flangeButton; QPushButton *clearanceButton; QPushButton *gyroscopeButton; QStackedWidget *stackedWidget; MonitorWidget* monitorPage; ClearanceAnalyticWidget *clearancePage; FlangeAnalyticWidget* flangePage; GyroscopeAnalyticWidget *gyroscopePage; QTimer *curTimer; void setupUi(QMainWindow *MainWindow) { if (MainWindow->objectName().isEmpty()) MainWindow->setObjectName(QString::fromUtf8("MainWindow")); MainWindow->resize(1920, 1080); centralwidget = new QWidget(MainWindow); centralwidget->setObjectName(QString::fromUtf8("centralwidget")); verticalLayout = new QVBoxLayout(centralwidget); verticalLayout->setSpacing(0); verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); verticalLayout->setContentsMargins(0, 0, 0, 0); titleWidget = new QWidget(centralwidget); titleWidget->setObjectName(QString::fromUtf8("titleWidget")); horizontalLayout = new QHBoxLayout(titleWidget); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); horizontalLayout->setContentsMargins(0, 0, 10, 20); horizontalLayout->setSpacing(5); horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalLayout->addItem(horizontalSpacer); minButton = new QPushButton(titleWidget); minButton->setObjectName(QString::fromUtf8("minButton")); QIcon icon; icon.addFile(QString::fromUtf8(":/Static/min.png"), QSize(), QIcon::Normal, QIcon::On); minButton->setIcon(icon); horizontalLayout->addWidget(minButton); closeButton = new QPushButton(titleWidget); closeButton->setObjectName(QString::fromUtf8("closeButton")); QIcon icon1; icon1.addFile(QString::fromUtf8(":/Static/close.png"), QSize(), QIcon::Normal, QIcon::On); closeButton->setIcon(icon1); horizontalLayout->addWidget(closeButton); verticalLayout->addWidget(titleWidget); tabLayout = new QHBoxLayout(); tabLayout->setObjectName(QString::fromUtf8("tabLayout")); tabLayout->setContentsMargins(20, 0, 20, 20); tabLayout->addStretch(); monitorButton = new QPushButton(centralwidget); monitorButton->setObjectName(QString::fromUtf8("monitorButton")); tabLayout->addWidget(monitorButton); flangeButton = new QPushButton(centralwidget); flangeButton->setObjectName(QString::fromUtf8("flangeButton")); tabLayout->addStretch(); tabLayout->addWidget(flangeButton); clearanceButton = new QPushButton(centralwidget); clearanceButton->setObjectName(QString::fromUtf8("clearanceButton")); tabLayout->addStretch(); tabLayout->addWidget(clearanceButton); gyroscopeButton = new QPushButton(centralwidget); gyroscopeButton->setObjectName(QString::fromUtf8("gyroscopeButton")); tabLayout->addStretch(); tabLayout->addWidget(gyroscopeButton); tabLayout->addStretch(); stackedWidget = new QStackedWidget(centralwidget); stackedWidget->setObjectName(QString::fromUtf8("stackedWidget")); monitorPage = new MonitorWidget(); monitorPage->setObjectName(QString::fromUtf8("monitorPage")); stackedWidget->addWidget(monitorPage); flangePage = new FlangeAnalyticWidget(monitorPage); flangePage->setObjectName(QString::fromUtf8("flangePage")); stackedWidget->addWidget(flangePage); clearancePage = new ClearanceAnalyticWidget(monitorPage); clearancePage->setObjectName(QString::fromUtf8("clearancePage")); stackedWidget->addWidget(clearancePage); gyroscopePage = new GyroscopeAnalyticWidget(monitorPage); gyroscopePage->setObjectName(QString::fromUtf8("gyroscopePage")); stackedWidget->addWidget(gyroscopePage); verticalLayout->addWidget(stackedWidget); verticalLayout->addLayout(tabLayout); verticalLayout->setStretch(0, 2); verticalLayout->setStretch(1, 40); verticalLayout->setStretch(2, 3); tabLayout->setStretch(0, 1); tabLayout->setStretch(1, 1); tabLayout->setStretch(2, 3); tabLayout->setStretch(3, 1); tabLayout->setStretch(4, 3); tabLayout->setStretch(5, 1); tabLayout->setStretch(6, 3); tabLayout->setStretch(7, 1); tabLayout->setStretch(8, 1); tabLayout->setSpacing(5); MainWindow->setCentralWidget(centralwidget); setButtonMes(); // ???e????????????? connect(closeButton, &QPushButton::clicked, MainWindow, &QMainWindow::close); // ?????????? MainWindow->setWindowFlags(Qt::FramelessWindowHint); curTimer = monitorPage->viewTimer; QMetaObject::connectSlotsByName(MainWindow); } // setupUi void setButtonMes() { monitorButton->setText(QString("监控总览")); flangeButton->setText(QString("法兰分析")); clearanceButton->setText(QString("净空区域")); gyroscopeButton->setText(QString("陀螺仪监测")); connect(monitorButton, &QPushButton::clicked, this, [=](){curTimer->stop(); curTimer = monitorPage->viewTimer; curTimer->start(2500); this->stackedWidget->setCurrentIndex(0); }); connect(flangeButton, &QPushButton::clicked, this, [=](){curTimer->stop(); curTimer = flangePage->timer; curTimer->start(2500); this->stackedWidget->setCurrentIndex(1); }); connect(clearanceButton, &QPushButton::clicked, this, [=](){curTimer->stop(); curTimer = clearancePage->timer; curTimer->start(2500); this->stackedWidget->setCurrentIndex(2); }); connect(gyroscopeButton, &QPushButton::clicked, this, [=](){curTimer->stop(); curTimer = gyroscopePage->timer; curTimer->start(2500); this->stackedWidget->setCurrentIndex(3); }); // connect(flangeButton, &QPushButton::clicked, this, [=](){this->flangePage->addDevice(); }); // connect(clearanceButton, &QPushButton::clicked, this, [=](){this->clearancePage->addDevice(); }); // connect(gyroscopeButton, &QPushButton::clicked, this, [=](){this->gyroscopePage->addDevice(); }); connect(monitorButton, &QPushButton::clicked, this, [=](){this->clearButton();}); connect(flangeButton, &QPushButton::clicked, this, [=](){this->clearButton();}); connect(clearanceButton, &QPushButton::clicked, this, [=](){this->clearButton();}); connect(gyroscopeButton, &QPushButton::clicked, this, [=](){this->clearButton();}); connect(monitorButton, &QPushButton::clicked, this, [=](){monitorButton->setChecked(true);}); connect(flangeButton, &QPushButton::clicked, this, [=](){flangeButton->setChecked(true);}); connect(clearanceButton, &QPushButton::clicked, this, [=](){clearanceButton->setChecked(true);}); connect(gyroscopeButton, &QPushButton::clicked, this, [=](){gyroscopeButton->setChecked(true);}); monitorButton->setCheckable(true); flangeButton->setCheckable(true); clearanceButton->setCheckable(true); gyroscopeButton->setCheckable(true); monitorButton->setChecked(true); } // retranslateUi void clearButton(){ monitorButton->setChecked(false); flangeButton->setChecked(false); clearanceButton->setChecked(false); gyroscopeButton->setChecked(false); } MainWindow(){ this->setupUi(this); } };