最近在做一个小软件,需要进行语言切换,故今天了解了一下QT国际化,多于的不说,直入正题:国际化有两种不同的方法。
1.利用designer 的UI文件进行国际化
2.自己编写的空项目,自己进行国际化,不利用ui文件中的函数
具体的步骤相似:
1. 编辑pro文件 添加
TRANSLATIONS += zh_en.ts
TRANSLATIONS += zh_cn.ts
2. ludatea ***.pro 构建***.ts文件
3. lreleae ***.ts 构建***.qm文件,也就是翻译的时候需要载入的文件
4. 载入QM文件和相关代码?
(1) 利用 designer 的UI文件的大致方法是这样样子的,先加载文件,然后调用ui文件里面的函数进行配置。
u_translator->load("zh_cn.qm");
u_spbma->ui->retranslateUi(u_spbma);
(2) 自己写代码的可以先装载,然后再QApplication 上安装
qt.load("my_cn.qm",".");
1installTranslator(&qt);
注意:qApp 这个全局指针,在无法获取主程序的控制权的时候可以利用,比如esc 退出。
还比如这个,在类中可以用,qApp->installTranslator(u_translator);