要实现的效果,是下拉列表切换中文和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);
}
源码下载:
Qt界面实现中英文切换资源-CSDN文库