Qt國際化

第一個Qt程序

新建項目

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

新建完項目以後能夠左下角的綠色三角標誌運行程序git

基於qt語言家的語言切換

Assistant(Qt語言家),相似於MSDN最權威的速應用程序翻譯和國際化的工具。Qt 使用單一的源碼樹
和單一的應用程序二進制包就可同時支持多個語言和書寫系統,有助於軟件走向國際化,普度衆生。github

具體步驟:工具

  1. 生成.ts文件,lupdate
  2. 翻譯成制定語言,生成.qm文件,lrelease。
  3. 加載qm文件,load()
  4. install

效果呈現

中文:字體

在這裏插入圖片描述

英文:ui

在這裏插入圖片描述

UI設計

在這裏插入圖片描述

拖動Lable控件和日曆控件到界面this

在這裏插入圖片描述

雙擊Lable控件修更名字,設置字體以及字體大小翻譯

在這裏插入圖片描述

雙擊菜單欄添加一級菜單,二級菜單沒法直接輸入中文,在屬性裏面修改debug

多語言

step1:pro文件底部添加對翻譯的支持
TRANSLATIONS = Translate_EN.ts \
Translate_CN.ts
step2:生成.ts文件

在這裏插入圖片描述

step3:使用qt語言家翻譯ts文件

將Translate_CN.ts文件用Qt Linguist打開
漢語­(通常不用改,咱們使用的是漢語,只須要改漢譯英的)設計

在這裏插入圖片描述

在這裏插入圖片描述

Translate_EN.ts3d

漢語­>英語

在這裏插入圖片描述

step4:生成.qm

在這裏插入圖片描述

step5:加載qm文件
定義QTranslator對象(類內定義)
QTranslator *m_Translator;

分配對象(構造中分配)

m_Translator = new QTranslator(this);

設置菜單響應

在這裏插入圖片描述

信號與槽後面介紹,按步驟來就行

切換英文
m_Translator‐>load("Translate_EN.qm");

切換中文

m_Translator->load("Translate_CN.qm");
step6:安裝qm文件
qApp‐>installTranslator(m_Translator);
問題:日曆尚未修改
ui‐>calendarWidget‐>setLocale(QLocale::Chinese);	//設置日曆英文
ui‐>calendarWidget‐>setLocale(QLocale::C);			//設置日曆中文

注意事項:

在這裏插入圖片描述

若是加載不成功,說明路徑錯了,QtCreator生成的.qm文件是在.pro目錄下,須要移至debug目錄下,才能正確讀取.qm文件,實現語言的切換

源代碼以及示例程序github地址:

https://github.com/ADeRoy/Qt-controls/tree/master/language

相關文章
相關標籤/搜索