#include "LanguageSwitchWnd.h" #include "ui_LanguageSwitchWnd.h" LanguageSwitchWnd::LanguageSwitchWnd(QWidget *parent) : QDialog(parent) , ui(new Ui::LanguageSwitchWnd) { ui->setupUi(this); if (gen_if.getLanguageValue() == 0) { ui->englishRadioButton->setChecked(true); } else { ui->chRadioButton->setChecked(true); } if (gen_if.getThemeValue() == 0) { ui->lightRadioButton->setChecked(true); } else { ui->darkRadioButton->setChecked(true); } connect(ui->englishRadioButton, &QRadioButton::toggled, this, [this](bool checked) { if (checked) emit languageChanged("en"); }); connect(ui->chRadioButton, &QRadioButton::toggled, this, [this](bool checked) { if (checked) emit languageChanged("zh_CN"); }); connect(ui->lightRadioButton, &QRadioButton::toggled, this, [this](bool checked) { if (checked) { QString qssFileName = ":/light.qss"; QFile qssFile(qssFileName); if (qssFile.open(QFile::ReadOnly)) { QString qssContent = qssFile.readAll(); qApp->setStyleSheet(qssContent); qssFile.close(); } gen_if.setThemeValue(0); } }); connect(ui->darkRadioButton, &QRadioButton::toggled, this, [this](bool checked) { if (checked) { QString qssFileName = ":/dark.qss"; QFile qssFile(qssFileName); if (qssFile.open(QFile::ReadOnly)) { QString qssContent = qssFile.readAll(); qApp->setStyleSheet(qssContent); qssFile.close(); } gen_if.setThemeValue(1); } }); } LanguageSwitchWnd::~LanguageSwitchWnd() { delete ui; } void LanguageSwitchWnd::changeEvent(QEvent* event) { if (event->type() == QEvent::LanguageChange) { ui->retranslateUi(this); } }