Qt 多国语言动态切换
时间:10-02
整理:3721RD
点击:
近日,在项目上用到了Qt 多国语言切换,做了一天实验,今天分享给大家一、建立一个工程,在设计师界面上放置两个按键,
二、下面就是添加槽函数,右键添加即可
3、在工程文件中添加如下内容
经过这一步,会生成一个中文翻译文件,和一个英文翻译文件
4、选择qt -> 工具 -> 外部 -> qt语言家 -> 更新翻译, 然后会在工程目录下得到两个 包含工程内容的文件
5、在 Qt安装目录下 的bin 文件夹中,找到 linguist.exe,并打开
6、首先我们来 载入 中文翻译文件,使用 linguist.exe 打开工程目录下的 ch.ts,这里我们 只做中文的翻译,英文的翻译与中文操作一样,大家需要用的时候,自己来做吧
7、填写 汉语 译文, 填写完成后,需要 点击 翻译项目前面的 问号,使其变成 绿对勾,才有效,然后保存一下
8、回到qt界面,选择qt -> 工具 -> 外部 -> qt语言家 -> 发布翻译,然后,会在工程目录下,生成两个文件
9、在qt中添加资源文件,
10、将刚才的两个文件添加到资源中
11、在头文件中添加如下内容,包括 相关头文件 一个翻译对象 重写的事件
12、下面,在.cpp文件中添加如下内容
13、运行程序,点击试试吧
下面来说几个需要注意的点:
1、当 进行 qApp->installTranslator(translator); 这个过程的时候,qt 回向所有界面发出 changeEvent 事件,所以,只要在其他界面中也重写这个事件,那么就可以实现所有界面的翻译切换
2、大家可能会发现,切换 英文时,是载入的翻译文件,而中文的切换则是删除翻译文件,这个就更具大家的实际情况自己选择 初始语言吧
3、将 翻译文件载入 资源文件,大家请注意 载入文件的路径,我已经测试过,在 linux 下编译后,放到arm上,不需要附带资源文件,
大家注意 最后一张图片 QTranslator *translator; 应该这指针,贴出这张图,大家不要弄错哦