Qt语言家的使用
1. 创建Qt工程
在.pro文件中添加一下代码
TRANSLATIONS += test_ui_CN.ts test_ui_EN.ts
2.头文件中声明按钮控件,翻译变量和translate方法
private:
QPushButton *btn;
QTranslator *translator;
bool isEnglish = false;
public:
void translate();
3.源文件中实现translate方法
void MainWindow::translate()
{
btn1->setText(tr("button1"));
btn2->setText(tr("button2"));
btn3->setText(tr("button3"));
}
4.点击更新翻译按钮生成ts文件
工具-外部-Qt语言家-更新翻译
5.打开生成的test_ui_CN.ts文件,增加中文翻译
保存退出后再点击发布翻译按钮(工具-外部-Qt语言家-发布翻译)
6.构造函数中加载翻译文件
translator = new QTranslator(this);
translator->load("test_ui_CN.qm");
qApp->installTranslator(translator);
7.实现按钮槽函数
connect(this->btn1,&QPushButton::clicked,[=](){
if(isEnglish) {
isEnglish = false;
translator->load("test_ui_CN.qm");
}
else {
isEnglish = true;
translator->load("test_ui_EN.qm");
}
translate();
});
最后编译即可