微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > Qt 多国语言动态切换

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;  应该这指针,贴出这张图,大家不要弄错哦

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top