2020-11-06

QT5实现语言国际化,中英文界面动态切换

1、打开Qt,在自己的工程文件中,点击 .pro 文件,在文件中添加

TRANSLATIONS = english.ts chinese.ts

2、点击Qt的工具 -> 外部 -> Qt语言更新翻译(lupdate),生成english.ts和chinese.ts文件,生成的文件在工程目录文件夹下可找到

(注意:如果添加 TRANSLATIONS = english.ts chinese.ts 后做第二步无效,需要qmake一下)

3、在自己下载的qt软件中找到 linguist.exe并双击启动(我的路径是  D:\qt\qt5.8\5.8\mingw53_32\bin\linguist.exe)

点击文件 -> 打开 -> 选择之前生成的两个chinese.ts、english.ts文件打开。

打开之后弹出一个选框,如果打开的是chinese.ts,那么在目标语言中选择中文,代表将所有语言转化为中文

如果打开的是english.ts,那么在目标语言中选择英文,代表将所有语言转化为英文

打开后如下图:

上下文框是你的每个界面widget,字符串框是在该界面的所有控件

选择一个控件比如label,在源文框中,将汉语和英语译文填上。

然后点击文件 -> 保存全部;点击文件 -> 发布全部;

此时会在项目文件目录下生成两个文件chinese.qm和english.qm;

4、右键点击工程根目录,选择新建一个Qt资源文件

      或者自己工程文件的资源文件resources

      有了资源文件后,将chinese.qm和english.qm加入到资源文件中,这两个就是需要调用的文件

5、代码:

 

#include <QTranslator>

 

QTranslator tran.load(":/english.qm");

qApp->installTranslator(&tran);

就可进行界面文字变换成英文

#include <QTranslator>

QTranslator tran.load(":/chinese.qm");

qApp->installTranslator(&tran);

同理可进行界面文字变换成英文

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值