Qt多语言切换

本篇文章主要记录Qt多语言切换的方法及需要注意的点。

步骤描述

Qt中英文切换主要包含8步,分别为:
(1)在pro文件中增加需要生成的ts文件(根据需求增加中文、英文或其他语言)
在这里插入图片描述
(2)在UI文件中添加窗口上需要的控件(默认英文显示(当然也可以默认中文)在其他文章中看到最好界面默认使用中文,否则可能会乱码,这点有待验证,因为我没有出现这个问题)。
默认使用英文
(3)由于在类中new的控件多语言切换方式会有不同,所以此步骤在cpp文件中new一个对象添加到窗口中。
在这里插入图片描述
(4)点击QtCreator工具栏更新翻译。点击后,会在工程目录下生成以pro文件中增加的两个文件名为名称的ts文件。
在这里插入图片描述
更新完毕后控制台会有提示完成
更新完毕后控制台会提示finish

生成的文件

(5)打开window所有应用,找到Qt-Linguist (本人使用的MinGW编译器),单击打开
在这里插入图片描述
(6)选择中文的ts文件打开(由于界面默认使用的英文显示,所以只对中文文件进行翻译),然后逐个对英文字符串翻译成中文。全部填写完成后点击保存按钮,再点击发布按钮,会在工程目录下生成对应的qm文件。
注意:英文ts文件打开后直接点击发布按钮生成qm文件即可。
在这里插入图片描述
在这里插入图片描述
打开文件后的界面
打开文件后的界面
在这里插入图片描述
在这里插入图片描述
生成的qm文件
生成的qm文件
(7)在exe文件所在目录下新建文件夹translator并将两个qm文件移入
在这里插入图片描述
(8)添加代码
注意:通过代码可以发现切换英文有两种方法。
第一种和切换中文方式相同,加载英文的qm文件
第二种由于我们界面默认为英文显示,所以切换为英文时只需要将之前设置的中文移除后再更新界面即可。
头文件
在这里插入图片描述
源文件
在这里插入图片描述

效果图

点击中文按钮

在这里插入图片描述
点击英文按钮
在这里插入图片描述

注意点:

1.在cpp中new的控件,必须在切换语言后重新setText()
2.在cpp中new的控件,setText()时必须加tr(“”)。只有增加了tr,生成的ts文件中才会存在此字符串,才可进行翻译
3.进行多语言切换的类的头文件中必须增加Q_OBJECT,否则不能翻译成功
4.ui->retranslateUi(this); 对于QWidget,多语言切换后必须调用此句,但对于QML,不需要。

转载请注明出处哦!

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值