最近在做一個小軟件,需要進行語言切換,故今天瞭解了一下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);