現在不少應用都是要求有多語言切換的,使用QT開發上位機也同樣需要做多語言功能,不過QT是自帶了多語言翻譯功能,可以很方便的借助原生工具進行, 下面就簡單來看看多語言開發的流程!
|創建頁面
根據下方頁面創建一個簡單的頁面,布局哪些就不要太在意,只有能體現出效果即可!
| 生成資源
在PRO文件中加入一段配置,增加語言文件生成腳本:
TRANSLATIONS+= cn.ts en.ts
圖片如下:
文件結構:
點擊更新翻譯:
查看資源:
|翻譯語言
根據自己項目構建選擇合適的工具,下圖就是根據本項目構建選擇的,讀者根據自己項目選擇即可:
導入文件,中文語言就選中文相關配置:
導入文件,英文語言就選擇英文相關配置:
分別對不同語言進行翻譯, 需要對全部語言進行翻譯:
點擊生成語言包:
在文件結構中可以看到生成的語言包:
| 編寫代碼
1、綁定觸發事件, 中文和英文都要綁定, 下圖只體現了中文, 英文也是一樣的道理:
2、編寫代碼:
#include"mainwindow.h" #include"ui_mainwindow.h" #include"QTranslator" #include"QDebug" MainWindow::MainWindow(QWidget*parent) :QMainWindow(parent) ,ui(newUi::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { deleteui; } voidMainWindow::on_action_triggered() { QTranslator*translator=newQTranslator; if(translator->load("../project/cn.qm")) { qApp->installTranslator(translator); qDebug()<"ok"; ????} ????ui->retranslateUi(this); } voidMainWindow::on_action_2_triggered() { QTranslator*translator=newQTranslator; if(translator->load("../project/en.qm")) { qApp->installTranslator(translator); qDebug()<"ok"; ????} ????ui->retranslateUi(this); }
注意: 如果語言包加載不成功,看看路徑是否是正確的,再看看生成的文件是否有問題!
審核編輯:湯梓紅
-
上位機
+關注
關注
27文章
927瀏覽量
54560 -
Qt
+關注
關注
1文章
300瀏覽量
37606 -
多語言
+關注
關注
0文章
6瀏覽量
6543 -
腳本
+關注
關注
1文章
382瀏覽量
14761
原文標題:QT|多語言切換
文章出處:【微信號:玩轉單片機,微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論