柚子快報(bào)邀請碼778899分享:開發(fā)語言 Qt多語言切換
柚子快報(bào)邀請碼778899分享:開發(fā)語言 Qt多語言切換
本篇文章主要記錄Qt多語言切換的方法及需要注意的點(diǎn)。
步驟描述
Qt中英文切換主要包含8步,分別為: (1)在pro文件中增加需要生成的ts文件(根據(jù)需求增加中文、英文或其他語言) (2)在UI文件中添加窗口上需要的控件(默認(rèn)英文顯示(當(dāng)然也可以默認(rèn)中文)在其他文章中看到最好界面默認(rèn)使用中文,否則可能會(huì)亂碼,這點(diǎn)有待驗(yàn)證,因?yàn)槲覜]有出現(xiàn)這個(gè)問題)。 (3)由于在類中new的控件多語言切換方式會(huì)有不同,所以此步驟在cpp文件中new一個(gè)對象添加到窗口中。 (4)點(diǎn)擊QtCreator工具欄更新翻譯。點(diǎn)擊后,會(huì)在工程目錄下生成以pro文件中增加的兩個(gè)文件名為名稱的ts文件。 更新完畢后控制臺(tái)會(huì)有提示完成
(5)打開window所有應(yīng)用,找到Qt-Linguist (本人使用的MinGW編譯器),單擊打開 (6)選擇中文的ts文件打開(由于界面默認(rèn)使用的英文顯示,所以只對中文文件進(jìn)行翻譯),然后逐個(gè)對英文字符串翻譯成中文。全部填寫完成后點(diǎn)擊保存按鈕,再點(diǎn)擊發(fā)布按鈕,會(huì)在工程目錄下生成對應(yīng)的qm文件。 注意:英文ts文件打開后直接點(diǎn)擊發(fā)布按鈕生成qm文件即可。 打開文件后的界面 生成的qm文件 (7)在exe文件所在目錄下新建文件夾translator并將兩個(gè)qm文件移入 (8)添加代碼 注意:通過代碼可以發(fā)現(xiàn)切換英文有兩種方法。 第一種和切換中文方式相同,加載英文的qm文件 第二種由于我們界面默認(rèn)為英文顯示,所以切換為英文時(shí)只需要將之前設(shè)置的中文移除后再更新界面即可。 頭文件 源文件
效果圖
點(diǎn)擊中文按鈕
點(diǎn)擊英文按鈕
注意點(diǎn):
1.在cpp中new的控件,必須在切換語言后重新setText() 2.在cpp中new的控件,setText()時(shí)必須加tr(“”)。只有增加了tr,生成的ts文件中才會(huì)存在此字符串,才可進(jìn)行翻譯 3.進(jìn)行多語言切換的類的頭文件中必須增加Q_OBJECT,否則不能翻譯成功 4.ui->retranslateUi(this); 對于QWidget,多語言切換后必須調(diào)用此句,但對于QML,不需要。
轉(zhuǎn)載請注明出處哦!
柚子快報(bào)邀請碼778899分享:開發(fā)語言 Qt多語言切換
推薦閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。