要实现的效果,是下拉列表切换中文和English实现按钮文本中英文内容切换。


实现步骤:
1.在VS中鼠标对Translation Files文件右击,选择“添加”--->“模块”.

在弹窗的窗口中选择“Qt”--->“Qt Translation File”。

添加Translation_en.ts和Translation_zh.ts两个文件,分布存储对应的英文和中文翻译。
2.在“扩展”菜单中选择“Qt VS Tools”中的"Lauch Qt Linguist"

从“文件”菜单中选择打开Translation_en.ts文件

将中文翻译为英文然后保存。

3.生成Translation_en.qm文件
右击“Translation_en.ts”文件选择“lrelease”即可生成Translation_en.qm文件。

4.代码实现
- QtProject::QtProject(QWidget *parent)
- : QMainWindow(parent)
- {
- ui.setupUi(this);
- //下拉列表添加选项
- ui.comboBox->addItem("中文");
- ui.comboBox->addItem("English");
- //下列列表绑定槽函数
- connect(ui.comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(ChangeLanguage(int)));
- }
-
- void QtProject::ChangeLanguage(int index)
- {
- QTranslator translator_en;
- bool ret = translator_en.load("Translation_en.qm");
- if (!ret)
- {
- //std::cout << "语音配置读取错误!" << std::endl;
- int a = 0;
- }
-
- QTranslator translator_ch;
- ret = translator_ch.load("Translation_ch.qm");
-
- int index22= ui.comboBox->currentIndex();
- if (1==index22)
- {
- App->installTranslator(&translator_en);
- }
- else if(0 == index22)
- {
- App->installTranslator(&translator_ch);
- }
-
-
- //更新界面
- ui.retranslateUi(this);
- }
源码下载: