#include "MainWnd.h" #include "ui_MainWnd.h" #include "Login.h" #include #include #include "OriginalWnd/OriginalWnd.h" #include MainWnd::MainWnd(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWnd) ,initialIconSet(false) { ui->setupUi(this); int themeValue = gen_if.getThemeValue(); applyTheme(themeValue); if(gen_if.getLanguageValue() == 0){ }else{ setChineseMode(this); } // // 初始化 OriginalWnd m_originalWnd = new OriginalWnd(this); // // 将 OriginalWnd 添加到 stackedWidget_UI ui->stackedWidget_UI->addWidget(m_originalWnd); bool buttonConnected = connect(ui->tabHomeBtn, &QPushButton::clicked, this, &MainWnd::on_tabHomeBtn_clicked); qDebug() << "Connected tabHomeBtn clicked to on_tabHomeBtn_clicked:" << buttonConnected; connect(ui->tabProductionBtn, &QPushButton::clicked, this, &MainWnd::on_tabProductionBtn_clicked); connect(ui->tabDiagnosisBtn, &QPushButton::clicked, this, &MainWnd::on_tabDiagnosisBtn_clicked); connect(ui->tabDispositionBtn, &QPushButton::clicked, this, &MainWnd::on_tabDispositionBtn_clicked); connect(ui->tabModuleBtn, &QPushButton::clicked, this, &MainWnd::on_tabModuleBtn_clicked); // connect(ui->tabSystemBtn, &QPushButton::clicked, // this, &MainWnd::on_tabSystemBtn_clicked); connect(ui->tabProgramBtn, &QPushButton::clicked, this, &MainWnd::on_tabProgramBtn_clicked); connect(this,&MainWnd::setLanguageSignal, this->m_originalWnd,&OriginalWnd::onHandleLanguageSignal); // 设置 OriginalWnd 为当前页面 ui->stackedWidget_UI->setCurrentWidget(m_originalWnd); qDebug() << "OriginalWnd 已设置为 stackedWidget 的当前页面"; initForm(); } MainWnd::~MainWnd() { delete ui; } void MainWnd::on_tabProductionBtn_clicked() { m_originalWnd->switchToProductionConfig(); ui->stackedWidget_UI->setCurrentWidget(m_originalWnd); } void MainWnd::on_tabHomeBtn_clicked() { m_originalWnd->switchToHomeConfig(); ui->stackedWidget_UI->setCurrentWidget(m_originalWnd); } void MainWnd::on_tabProgramBtn_clicked() { m_originalWnd->switchToProgramConfig(); ui->stackedWidget_UI->setCurrentWidget(m_originalWnd); } void MainWnd::on_tabModuleBtn_clicked() { m_originalWnd->switchToModuleConfig(); ui->stackedWidget_UI->setCurrentWidget(m_originalWnd); } void MainWnd::on_tabDispositionBtn_clicked() { m_originalWnd->switchToDispositionConfig(); ui->stackedWidget_UI->setCurrentWidget(m_originalWnd); } void MainWnd::on_tabDiagnosisBtn_clicked() { m_originalWnd->switchToDiagnosisConfig(); ui->stackedWidget_UI->setCurrentWidget(m_originalWnd); } void MainWnd::on_tabSystemBtn_clicked() { QDialog settingsDialog(this); settingsDialog.setWindowTitle(tr("Settings")); QVBoxLayout mainLayout; settingsDialog.setLayout(&mainLayout); // Language Group QLabel languageLabel(tr("Language:")); QRadioButton englishRadio(tr("English")); QRadioButton chineseRadio(tr("Chinese")); QButtonGroup languageGroup; languageGroup.addButton(&englishRadio); languageGroup.addButton(&chineseRadio); QVBoxLayout languageLayout; languageLayout.addWidget(&languageLabel); languageLayout.addWidget(&englishRadio); languageLayout.addWidget(&chineseRadio); // Theme Group QLabel themeLabel(tr("Theme:")); QRadioButton lightThemeRadio(tr("Light")); QRadioButton darkThemeRadio(tr("Dark")); QButtonGroup themeGroup; themeGroup.addButton(&lightThemeRadio); themeGroup.addButton(&darkThemeRadio); QVBoxLayout themeLayout; themeLayout.addWidget(&themeLabel); themeLayout.addWidget(&lightThemeRadio); themeLayout.addWidget(&darkThemeRadio); // Dialog Button Box QDialogButtonBox buttonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(&buttonBox, &QDialogButtonBox::accepted, &settingsDialog, &QDialog::accept); connect(&buttonBox, &QDialogButtonBox::rejected, &settingsDialog, &QDialog::reject); mainLayout.addLayout(&languageLayout); mainLayout.addLayout(&themeLayout); mainLayout.addWidget(&buttonBox); int init_language_data = gen_if.getLanguageValue(); int init_theme_data = gen_if.getThemeValue(); if (init_language_data == 0) { englishRadio.setChecked(true); } else { chineseRadio.setChecked(true); languageLabel.setText(tr("语言")); englishRadio.setText(tr("英语")); chineseRadio.setText(tr("中文")); themeLabel.setText(tr("主题")); lightThemeRadio.setText(tr("浅色")); darkThemeRadio.setText(tr("深色")); settingsDialog.setWindowTitle(tr("设置")); } if (init_theme_data == 0) { lightThemeRadio.setChecked(true); } else { darkThemeRadio.setChecked(true); } int current_language_data = init_language_data; int current_theme_data = init_theme_data; connect(&languageGroup, QOverload::of(&QButtonGroup::buttonClicked), [¤t_language_data, &englishRadio, &chineseRadio](QAbstractButton *button) { if (button == &englishRadio) { current_language_data = 0; qDebug() << "Language set to English"; } else if (button == &chineseRadio) { current_language_data = 1; qDebug() << "Language set to Chinese"; } }); connect(&themeGroup, QOverload::of(&QButtonGroup::buttonClicked), [¤t_theme_data, &lightThemeRadio, &darkThemeRadio](QAbstractButton *button) { if (button == &lightThemeRadio) { current_theme_data = 0; qDebug() << "Theme set to Light"; } else if (button == &darkThemeRadio) { current_theme_data = 1; qDebug() << "Theme set to Dark"; } }); int result = settingsDialog.exec(); QSettings settings("YourCompany", "YourApplication_style"); if (result == QDialog::Accepted) { // 处理“OK”按钮点击事件 if (init_language_data != current_language_data) { gen_if.setLanguageValue(current_language_data); if (current_language_data == 0) { ui->retranslateUi(this); setLanguageSignal(current_language_data); } else { setChineseMode(this); setLanguageSignal(current_language_data); } } if (init_theme_data != current_theme_data) { gen_if.setThemeValue(current_theme_data); QString qssFileName; if (current_theme_data == 0) { qssFileName = ":/light.qss"; settings.setValue("Flag_Style", 0); } else { qssFileName = ":/dark.qss"; settings.setValue("Flag_Style", 1); } QFile qssFile(qssFileName); if (qssFile.open(QFile::ReadOnly)) { QString qssContent = qssFile.readAll(); qApp->setStyleSheet(qssContent); qssFile.close(); } } // emit styleChanged(); qDebug() << "Dialog accepted"; } else if (result == QDialog::Rejected) { // 处理“Cancel”按钮点击事件 // qDebug() << "Dialog rejected"; } } void MainWnd::applyTheme(int themeValue) { QString qssFileName; if (themeValue == 0) { qssFileName = ":/light.qss"; } else { qssFileName = ":/dark.qss"; } QFile qssFile(qssFileName); if (qssFile.open(QFile::ReadOnly)) { QString qssContent = qssFile.readAll(); qApp->setStyleSheet(qssContent); qssFile.close(); } } void MainWnd::initForm() { // 隐藏原生标题栏 setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); // 窗口背景透明 setAttribute(Qt::WA_TranslucentBackground, true); Login *login = new Login; ui->stackedWidget_UI->addWidget(login); ui->stackedWidget_UI->setCurrentIndex(ui->stackedWidget_UI->indexOf(login)); //登录监听 ui->label_logo_m->installEventFilter(this); ui->stackedWidget_UI->installEventFilter(this); //安装监听事件,点击左侧按钮图标变化 ui->tabHomeBtn->installEventFilter(this); ui->tabProductionBtn->installEventFilter(this); ui->tabProgramBtn->installEventFilter(this); ui->tabMessageBtn->installEventFilter(this); ui->tabModuleBtn->installEventFilter(this); ui->tabDispositionBtn->installEventFilter(this); ui->tabDiagnosisBtn->installEventFilter(this); ui->tabSystemBtn->installEventFilter(this); ui->tabHelpBtn->installEventFilter(this); QMouseEvent* pressEvent = new QMouseEvent(QEvent::MouseButtonPress, ui->tabHomeBtn->pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); QApplication::sendEvent(ui->tabHomeBtn, pressEvent); delete pressEvent; } bool MainWnd::eventFilter(QObject *obj, QEvent *event) { if (obj == this->ui->stackedWidget_UI) { onCurrentWidgetChanged(); } if (obj == this->ui->label_logo_m) { //判断事件类型是否为鼠标事件 if (event->type() == QEvent::MouseButtonPress) { //转换为鼠标事件 QMouseEvent* mouseenevt = static_cast(event); //判断鼠标左键点击 if (mouseenevt->button() == Qt::LeftButton) { Login *login = new Login; ui->stackedWidget_UI->addWidget(login); ui->stackedWidget_UI->setCurrentIndex(ui->stackedWidget_UI->indexOf(login)); return true; } } } QSettings settings("YourCompany", "YourApplication_style"); int flag = settings.value("Flag_Style", 0).toInt(); switch(event->type()) { case QEvent::MouseButtonPress: { if(obj == ui->tabHomeBtn && ui->tabHomeBtn->isEnabled()) { ui->tabHomeBtn->setIcon(QIcon(":/images/deep/home.png")); ui->tabHomeBtn->setChecked(true); if(flag == 0) { if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabProductionBtn && ui->tabProductionBtn->isEnabled()) { ui->tabProductionBtn->setIcon(QIcon(":/images/deep/Productionn assistance.png")); ui->tabProductionBtn->setChecked(true); if(flag == 0) { if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabProgramBtn && ui->tabProgramBtn->isEnabled()) { ui->tabProgramBtn->setIcon(QIcon(":/images/deep/Program.png")); ui->tabProgramBtn->setChecked(true); if(flag == 0) { if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabMessageBtn && ui->tabMessageBtn->isEnabled()) { ui->tabMessageBtn->setIcon(QIcon(":/images/deep/Message.png")); ui->tabMessageBtn->setChecked(true); if(flag == 0) { if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabModuleBtn && ui->tabModuleBtn->isEnabled()) { ui->tabModuleBtn->setIcon(QIcon(":/images/deep/Module.png")); ui->tabModuleBtn->setChecked(true); if(flag == 0) { if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabDispositionBtn && ui->tabDispositionBtn->isEnabled()) { ui->tabDispositionBtn->setIcon(QIcon(":/images/deep/Disposition.png")); ui->tabDispositionBtn->setChecked(true); if(flag == 0) { if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabDiagnosisBtn && ui->tabDiagnosisBtn->isEnabled()) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/deep/Diagnosis.png")); ui->tabDiagnosisBtn->setChecked(true); if(flag == 0) { if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabSystemBtn && ui->tabSystemBtn->isEnabled()) { ui->tabSystemBtn->setIcon(QIcon(":/images/deep/System.png")); ui->tabSystemBtn->setChecked(true); if(flag == 0) { if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); } } } if(obj == ui->tabHelpBtn && ui->tabHelpBtn->isEnabled()) { ui->tabHelpBtn->setIcon(QIcon(":/images/deep/Help.png")); ui->tabHelpBtn->setChecked(true); if(flag == 0){ if(ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); } if(ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); } if(ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); } if(ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); } if(ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); } if(ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); } if(ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); } if(ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); } } } break; } case QEvent::HoverEnter: { if(flag == 0) { if(obj == ui->tabHomeBtn && ui->tabHomeBtn->isEnabled()) { ui->tabHomeBtn->setIcon(QIcon(":/images/deep/home.png")); } if(obj == ui->tabProductionBtn && ui->tabProductionBtn->isEnabled()) { ui->tabProductionBtn->setIcon(QIcon(":/images/deep/Productionn assistance.png")); } if(obj == ui->tabProgramBtn && ui->tabProgramBtn->isEnabled()) { ui->tabProgramBtn->setIcon(QIcon(":/images/deep/Program.png")); } if(obj == ui->tabMessageBtn && ui->tabMessageBtn->isEnabled()) { ui->tabMessageBtn->setIcon(QIcon(":/images/deep/Message.png")); } if(obj == ui->tabModuleBtn && ui->tabModuleBtn->isEnabled()) { ui->tabModuleBtn->setIcon(QIcon(":/images/deep/Module.png")); } if(obj == ui->tabDispositionBtn && ui->tabDispositionBtn->isEnabled()) { ui->tabDispositionBtn->setIcon(QIcon(":/images/deep/Disposition.png")); } if(obj == ui->tabDiagnosisBtn && ui->tabDiagnosisBtn->isEnabled()) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/deep/Diagnosis.png")); } if(obj == ui->tabSystemBtn && ui->tabSystemBtn->isEnabled()) { ui->tabSystemBtn->setIcon(QIcon(":/images/deep/System.png")); } if(obj == ui->tabHelpBtn && ui->tabHelpBtn->isEnabled()) { ui->tabHelpBtn->setIcon(QIcon(":/images/deep/Help.png")); } } break; } case QEvent::HoverLeave: { if (flag == 0) { if(obj == ui->tabHomeBtn && ui->tabHomeBtn->isChecked() == false) { ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); ui->tabHomeBtn->setChecked(false); } if(obj == ui->tabProductionBtn && ui->tabProductionBtn->isChecked() == false) { ui->tabProductionBtn->setIcon(QIcon(":/images/light/Productionn assistance.png")); ui->tabProductionBtn->setChecked(false); } if(obj == ui->tabProgramBtn && ui->tabProgramBtn->isChecked() == false) { ui->tabProgramBtn->setIcon(QIcon(":/images/light/Program.png")); ui->tabProgramBtn->setChecked(false); } if(obj == ui->tabMessageBtn && ui->tabMessageBtn->isChecked() == false) { ui->tabMessageBtn->setIcon(QIcon(":/images/light/Message.png")); ui->tabMessageBtn->setChecked(false); } if(obj == ui->tabModuleBtn && ui->tabModuleBtn->isChecked() == false) { ui->tabModuleBtn->setIcon(QIcon(":/images/light/Module.png")); ui->tabModuleBtn->setChecked(false); } if(obj == ui->tabDispositionBtn && ui->tabDispositionBtn->isChecked() == false) { ui->tabDispositionBtn->setIcon(QIcon(":/images/light/Disposition.png")); ui->tabDispositionBtn->setChecked(false); } if(obj == ui->tabDiagnosisBtn && ui->tabDiagnosisBtn->isChecked() == false) { ui->tabDiagnosisBtn->setIcon(QIcon(":/images/light/Diagnosis.png")); ui->tabDiagnosisBtn->setChecked(false); } if(obj == ui->tabSystemBtn && ui->tabSystemBtn->isChecked() == false) { ui->tabSystemBtn->setIcon(QIcon(":/images/light/System.png")); ui->tabSystemBtn->setChecked(false); } if(obj == ui->tabHelpBtn && ui->tabHelpBtn->isChecked() == false) { ui->tabHelpBtn->setIcon(QIcon(":/images/light/Help.png")); ui->tabHelpBtn->setChecked(false); } } } default: break; } return QWidget::eventFilter(obj, event); } void MainWnd::onCurrentWidgetChanged() { QWidget *currentWidget = ui->stackedWidget_UI->currentWidget(); if (currentWidget) { QString currentWidgetName = currentWidget->objectName(); QSettings settings("YourCompany", "YourApplication_style"); int flag = settings.value("Flag_Style", 0).toInt(); if (currentWidgetName == "Login") { QString styleSheet; if (flag == 0) { styleSheet = "QToolButton:disabled { color: #808080; background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #F8FBFF, stop: 1 #E7ECF3); }"; // 设置禁用状态下的文本颜色为灰色 } else if (flag == 1) { styleSheet = "QToolButton:disabled { color: #B1B2D8; background: #7276AA;}"; } ui->tabHomeBtn->setDisabled(true); ui->tabHomeBtn->setIcon(QIcon(":/images/light/home.png")); ui->tabHomeBtn->setStyleSheet(styleSheet); ui->tabProductionBtn->setDisabled(true); ui->tabProductionBtn->setStyleSheet(styleSheet); ui->tabProgramBtn->setDisabled(true); ui->tabProgramBtn->setStyleSheet(styleSheet); ui->tabMessageBtn->setDisabled(true); ui->tabMessageBtn->setStyleSheet(styleSheet); ui->tabModuleBtn->setDisabled(true); ui->tabModuleBtn->setStyleSheet(styleSheet); ui->tabDispositionBtn->setDisabled(true); ui->tabDispositionBtn->setStyleSheet(styleSheet); ui->tabDiagnosisBtn->setDisabled(true); ui->tabDiagnosisBtn->setStyleSheet(styleSheet); ui->tabSystemBtn->setDisabled(true); ui->tabSystemBtn->setStyleSheet(styleSheet); ui->tabHelpBtn->setDisabled(true); ui->tabHelpBtn->setStyleSheet(styleSheet); } else { ui->tabHomeBtn->setDisabled(false); if (!initialIconSet) { ui->tabHomeBtn->setIcon(QIcon(":/images/deep/home.png")); initialIconSet = true; } ui->tabProductionBtn->setDisabled(false); ui->tabProgramBtn->setDisabled(false); ui->tabMessageBtn->setDisabled(false); ui->tabModuleBtn->setDisabled(false); ui->tabDispositionBtn->setDisabled(false); ui->tabDiagnosisBtn->setDisabled(false); ui->tabSystemBtn->setDisabled(false); ui->tabHelpBtn->setDisabled(false); } } } void MainWnd::setChineseMode(QMainWindow *MainWnd){ MainWnd->setWindowTitle(QCoreApplication::translate("MainWnd", "主界面", nullptr)); ui->tabHomeBtn->setText(QCoreApplication::translate("MainWnd", "首页", nullptr)); ui->label_logo_m->setText(QString()); ui->tabProductionBtn->setText(QCoreApplication::translate("MainWnd", "产品助手", nullptr)); ui->tabProgramBtn->setText(QCoreApplication::translate("MainWnd", "进程", nullptr)); ui->tabMessageBtn->setText(QCoreApplication::translate("MainWnd", "信息", nullptr)); ui->tabModuleBtn->setText(QCoreApplication::translate("MainWnd", "校准", nullptr)); ui->tabDispositionBtn->setText(QCoreApplication::translate("MainWnd", "模块配置", nullptr)); ui->tabDiagnosisBtn->setText(QCoreApplication::translate("MainWnd", "诊断", nullptr)); ui->tabSystemBtn->setText(QCoreApplication::translate("MainWnd", "系统信息", nullptr)); ui->tabHelpBtn->setText(QCoreApplication::translate("MainWnd", "帮助", nullptr)); ui->pushButton->setText(QCoreApplication::translate("MainWnd", "关闭", nullptr)); } void MainWnd::on_pushButton_clicked() { //加确认关闭提示确认窗口 // 创建一个消息框 QMessageBox msgBox; if(gen_if.getLanguageValue() == 0){ msgBox.setWindowTitle("Confirm Close"); msgBox.setText("Are you sure you want to close the application?"); }else{ msgBox.setWindowTitle("确认关闭"); msgBox.setText("你确定要关闭程序吗"); } msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); msgBox.setDefaultButton(QMessageBox::No); // 显示消息框并获取用户的选择 int ret = msgBox.exec(); switch (ret) { case QMessageBox::Yes: // 用户点击了确认按钮,执行关闭操作 qApp->quit(); break; case QMessageBox::No: // 用户点击了取消按钮,不执行任何操作 break; default: // 其他情况 break; } // qApp->quit(); } // QJsonObject MainWnd::getInfofromDb(){ // QJsonObject data; // QJsonArray fieldsArray; // QSqlDatabase db = QSqlDatabase::database(); // if (!db.isOpen()) { // qWarning() << "数据库未打开"; // return data; // } // // 查询 systemConfig 表 // QSqlQuery queryBond(db); // queryBond.prepare(R"( // SELECT Function, Description,setValue // FROM systemConfig // )"); // if (queryBond.exec()) { // while (queryBond.next()) { // QJsonObject field; // field["Function"] = queryBond.value("Function").toString(); // field["Description"] = queryBond.value("Description").toString(); // field["setValue"] = queryBond.value("setValue").toInt(); // fieldsArray.append(field); // } // // qDebug() << "Fetched fields:" << fieldsArray; // } else { // qWarning() << "查询 systemConfig 失败:" << queryBond.lastError().text(); // } // data["systemConfig"]=fieldsArray; // // qDebug() << "Fetched data:" << data; // return data; // } // int MainWnd::getLanguageValue(){ // int data; // QJsonArray fieldsArray; // QSqlDatabase db = QSqlDatabase::database(); // if (!db.isOpen()) { // qWarning() << "数据库未打开"; // return -1; // } // // 查询 systemConfig 表 // QSqlQuery queryBond(db); // queryBond.prepare(R"( // SELECT Function, Description,setValue // FROM systemConfig // )"); // if (queryBond.exec()) { // while (queryBond.next()) { // QJsonObject field; // field["Function"] = queryBond.value("Function").toString(); // if(field["Function"] == "language"){ // data = queryBond.value("setValue").toInt(); // return data; // } // } // // qDebug() << "Fetched fields:" << fieldsArray; // } else { // qWarning() << "查询 systemConfig 失败:" << queryBond.lastError().text(); // } // return -1; // } // int MainWnd::getThemeValue(){ // int data; // QJsonArray fieldsArray; // QSqlDatabase db = QSqlDatabase::database(); // if (!db.isOpen()) { // qWarning() << "数据库未打开"; // return -1; // } // // 查询 systemConfig 表 // QSqlQuery queryBond(db); // queryBond.prepare(R"( // SELECT Function, Description,setValue // FROM systemConfig // )"); // if (queryBond.exec()) { // while (queryBond.next()) { // QJsonObject field; // field["Function"] = queryBond.value("Function").toString(); // if(field["Function"] == "theme"){ // data = queryBond.value("setValue").toInt(); // return data; // } // } // // qDebug() << "Fetched fields:" << fieldsArray; // } else { // qWarning() << "查询 systemConfig 失败:" << queryBond.lastError().text(); // } // return -1; // } // void MainWnd::setLanguageValue(int data){ // QSqlDatabase db = QSqlDatabase::database(); // if (!db.isOpen()) { // qWarning() << "数据库未打开"; // } // QString sql = QString("UPDATE systemConfig SET setValue = '%1' WHERE Function = 'language'").arg(data); // QSqlQuery query; // if (query.exec(sql)) { // qDebug() << "Update successful"; // } else { // qDebug() << "Update failed:" << query.lastError().text(); // } // } // void MainWnd::setThemeValue(int data){ // QSqlDatabase db = QSqlDatabase::database(); // if (!db.isOpen()) { // qWarning() << "数据库未打开"; // } // QString sql = QString("UPDATE systemConfig SET setValue = '%1' WHERE Function = 'theme'").arg(data); // QSqlQuery query; // if (query.exec(sql)) { // qDebug() << "Update successful"; // } else { // qDebug() << "Update failed:" << query.lastError().text(); // } // }