📄 langswitch.cpp
字号:
#include <QComboBox>#include <QLabel>#include <QVBoxLayout>#include <QTranslator>#include <QApplication>#include "LangSwitch.h"LangSwitch::LangSwitch() : QWidget(){ changeTr("en"); createScreen();}void LangSwitch::createScreen(){ combo = new QComboBox; combo->addItem("English", "en"); combo->addItem("Chinese", "zh"); combo->addItem("Latin", "la"); label = new QLabel; refreshLabel(); QVBoxLayout* layout = new QVBoxLayout; layout->addWidget(combo, 1); layout->addWidget(label, 5); setLayout(layout); connect(combo, SIGNAL(currentIndexChanged(int)), this, SLOT(changeLang(int)));}void LangSwitch::changeLang(int index){ QString langCode = combo->itemData(index).toString(); changeTr(langCode); refreshLabel();}void LangSwitch::changeTr(const QString& langCode){ static QTranslator* translator; if (translator != NULL) { qApp->removeTranslator(translator); delete translator; translator = NULL; } translator = new QTranslator; QString qmFilename = "lang_" + langCode; if (translator->load(qmFilename)) { qApp->installTranslator(translator); }}void LangSwitch::refreshLabel(){ label->setText(tr("TXT_HELLO_WORLD", "Hello World"));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -