現(xiàn)在不少應(yīng)用都是要求有多語(yǔ)言切換的,使用QT開(kāi)發(fā)上位機(jī)也同樣需要做多語(yǔ)言功能,不過(guò)QT是自帶了多語(yǔ)言翻譯功能,可以很方便的借助原生工具進(jìn)行, 下面就簡(jiǎn)單來(lái)看看多語(yǔ)言開(kāi)發(fā)的流程!
|創(chuàng)建頁(yè)面
根據(jù)下方頁(yè)面創(chuàng)建一個(gè)簡(jiǎn)單的頁(yè)面,布局哪些就不要太在意,只有能體現(xiàn)出效果即可!

| 生成資源
在PRO文件中加入一段配置,增加語(yǔ)言文件生成腳本:
TRANSLATIONS+= cn.ts en.ts
圖片如下:

文件結(jié)構(gòu):

點(diǎn)擊更新翻譯:

查看資源:

|翻譯語(yǔ)言
根據(jù)自己項(xiàng)目構(gòu)建選擇合適的工具,下圖就是根據(jù)本項(xiàng)目構(gòu)建選擇的,讀者根據(jù)自己項(xiàng)目選擇即可:

導(dǎo)入文件,中文語(yǔ)言就選中文相關(guān)配置:

導(dǎo)入文件,英文語(yǔ)言就選擇英文相關(guān)配置:

分別對(duì)不同語(yǔ)言進(jìn)行翻譯, 需要對(duì)全部語(yǔ)言進(jìn)行翻譯:

點(diǎn)擊生成語(yǔ)言包:

在文件結(jié)構(gòu)中可以看到生成的語(yǔ)言包:

| 編寫代碼
1、綁定觸發(fā)事件, 中文和英文都要綁定, 下圖只體現(xiàn)了中文, 英文也是一樣的道理:

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);
}
注意: 如果語(yǔ)言包加載不成功,看看路徑是否是正確的,再看看生成的文件是否有問(wèn)題!
審核編輯:湯梓紅
-
上位機(jī)
+關(guān)注
關(guān)注
27文章
1001瀏覽量
56868 -
Qt
+關(guān)注
關(guān)注
2文章
318瀏覽量
40571 -
多語(yǔ)言
+關(guān)注
關(guān)注
0文章
7瀏覽量
6688 -
腳本
+關(guān)注
關(guān)注
1文章
407瀏覽量
29118
原文標(biāo)題:QT|多語(yǔ)言切換
文章出處:【微信號(hào):玩轉(zhuǎn)單片機(jī),微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
這個(gè)多語(yǔ)言包 怎么搜不到
串口屏MODBUS教程9_控件顯示和隱藏功能和多語(yǔ)言功能的使用教程
HarmonyOS低代碼開(kāi)發(fā)-多語(yǔ)言支持及屏幕適配
多語(yǔ)言綜合信息服務(wù)系統(tǒng)研究與設(shè)計(jì)
SoC多語(yǔ)言協(xié)同驗(yàn)證平臺(tái)技術(shù)研究
基于Toradex多語(yǔ)言image的編譯與MUI切換演示
Multilingual多語(yǔ)言預(yù)訓(xùn)練語(yǔ)言模型的套路
螞蟻集團(tuán)開(kāi)源高性能多語(yǔ)言序列化框架Fury解讀
基于LLaMA的多語(yǔ)言數(shù)學(xué)推理大模型
如何在TSMaster面板和工具箱中實(shí)現(xiàn)多語(yǔ)言切換
大語(yǔ)言模型(LLMs)如何處理多語(yǔ)言輸入問(wèn)題
ChatGPT 的多語(yǔ)言支持特點(diǎn)
京東多語(yǔ)言質(zhì)量解決方案
多語(yǔ)言開(kāi)發(fā)的流程詳解
評(píng)論