Language change example

This commit is contained in:
Krad
2021-12-21 16:06:21 +08:00
parent aefd4cd367
commit 7c0f8ed8fd
4 changed files with 14 additions and 2 deletions

View File

@@ -16,6 +16,7 @@
#include <QPushButton>
#include "systemsettingform.h"
#include "AccountTableForm.h"
#include "event/EventCenter.h"
AdminSettingForm::AdminSettingForm(QWidget* parent, Qt::WindowFlags f) : TabFormWidget(parent) {
@@ -65,12 +66,19 @@ AdminSettingForm::AdminSettingForm(QWidget* parent, Qt::WindowFlags f) : TabForm
stackedWidget->addWidget(operationLogForm);
QLabel* about = new QLabel(this);
about->setText("About");
about->setText(tr("About"));
stackedWidget->addWidget(about);
widget->setCurrentRow(0);
connect(widget, &QListWidget::currentRowChanged, [=](int rowindex) {
stackedWidget->setCurrentIndex(rowindex);
});
connect(EventCenter::Default(),&EventCenter::ReloadLanguage,[=](){
QStringList menus;
menus << tr("General") << tr("Account Manage") << tr("System Setting") << tr("System Information") << tr("Operation Log") << tr("About");
widget->clear();
widget->addItems(menus);
about->setText(tr("About"));
});
}
AdminSettingForm::~AdminSettingForm() {

View File

@@ -9,6 +9,7 @@
#define ADD_EVENT()\
ADD_EVENT_VALUE(RequestLogin)\
ADD_EVENT_VALUE(LoginRoleChanged)\
ADD_EVENT_VALUE(PatientSelected)\
ADD_EVENT_VALUE(RequestPreviewScan)\
ADD_EVENT_VALUE(RequestEmptyScan)\
@@ -25,6 +26,7 @@ ADD_EVENT_VALUE(InvokeOperationProgress)\
ADD_EVENT_VALUE(InvokeOperationEnd)\
ADD_EVENT_VALUE(PromptDialogOpen)\
ADD_EVENT_VALUE(GlobalBannerMessage)\
ADD_EVENT_VALUE(ReloadLanguage)\
ADD_EVENT_VALUE(WarnStateFlagChange)\
ADD_EVENT_VALUE(GUIErrorRaise)

View File

@@ -7,6 +7,7 @@
#include <QLabel>
#include <QLineEdit>
#include <QEvent>
#include <src/event/EventCenter.h>
#include "json/jsonobject.h"
#include "SelectDialog.h"
@@ -91,6 +92,7 @@ GeneralForm::GeneralForm(QWidget* parent) : QWidget(parent)
LanguageSwitcher::Instance()->setDefaultLanguage(lan);
btnLan->setText(JsonObject::Instance()->defaultLanguage());
EventCenter::Default()->triggerEvent(ReloadLanguage, nullptr,nullptr);
}
});
}

View File

@@ -10,7 +10,7 @@
btn##name->setIcon(QIcon(img));\
btn##name->setIconSize(QSize(size,size));\
btn##name->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);\
btn##name->setText(#name);\
btn##name->setText(tr(#name));\
layout->addWidget(btn##name);
#define ADD_TOOL_BTN_TO_LAYOUT(name,img,layout)\