系統:windows10 64位 家庭版
qt版本:5.6.0 msvc2013 32位
編譯器:visual studio 2013 專業版
在qt程式中生成多語言處理所必需的.qm檔案,然後新增到工程中並在程式中使用。
1.新建乙個qt widgets工程,這裡我取名為linguist,並新增乙個名為linguistwidget的類,如下圖所示:
linguistwidget.**件
#ifndef linguistwidget_h
#define linguistwidget_h
#include class qpushbutton;
class linguistwidget : public qwidget
;#endif // linguistwidget_h
linguistwidget.cpp檔案
#include "linguistwidget.h"
#include linguistwidget::linguistwidget(qwidget *parent)
: qwidget(parent)
linguistwidget::~linguistwidget()
void linguistwidget::retranslateui()
3.在工程目錄下新建乙個資料夾名叫language(這些名字隨便取,但是要和下面的巨集一致),用來存放ts檔案,如下圖所示:
然後執行qmake,再執行qt creator選單欄中的"工具—>外部—>qt語言家—>更新翻譯(update)「完成後,工程目錄下的language資料夾裡會有兩個檔案,分別是langchinese.ts和langenglish.ts,如下圖所示:
6.在liguist程式中開啟步驟2生成的langchinese.ts和langenglish.ts檔案,在開啟檔案時會彈出語言設定視窗,在視窗中為相應的檔案選擇相應的目標語言,如下兩圖所示,然後選擇ok:
7.在彈出的語言翻譯介面中,為中文新增適當的翻譯(因為源語言就是英文,所以英文這裡不做翻譯),如下圖所示:
注意:新增完成後要執行一次qmake,否則會導致資源檔案無法識別和載入的現象。
10.為步驟2中新增的qpushbutton新增乙個槽函式,用來切換語言,關鍵**如下:
connect(m_pbtnchangelanguage, &qpushbutton::clicked, this, [=] else
retranslateui();
});
11.介面一開始如下圖:
單擊一下按鍵變成:
在資源檔案中載入(個人偏向這個):
優點:
缺點:
在程式外部載入:
優點:
缺點:
示例原始碼
Qt 筆記 多語言
1 使用命令 lupdate no obsolete main.pro 作用 將main.pro檔案內的所有源程式檔案中的被tr 包裝的字串打包成.ts檔案,此檔案可以使用qt的qt linguist開啟並翻譯 2 使用命令 lrelease main.pro 作用 通過.ts檔案生成.qm檔案,此...
QT的多語言實現
基本流程是 先生成ts檔案,然後生成qm檔案,最後通過qtranslator類來載入qm檔案,實現多語言包的切換 在qt的專案檔案 pro 中新增 translations ts yyy.ts 如果是多行,則用 分割 pro檔案 qt core gui translations login.ts s...
Qt001 Qt的多語言支援
qt的多語言支援比較方便,這裡說一下大概的方案及乙個注意點。首先我們要把語言字串分為兩個部分 qt內建的字串 通用對話方塊和右鍵選單 和 應用自己的字串。qt實現多語言的思路是 1 在用到字串的地方,中全部使用乙個類似索引的固定字串。2 這些固定字串都會被qobject tr 函式進行處理後,轉換為...