现在不少应用都是要求有多语言切换的,使用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文章
930浏览量
54728 -
Qt
+关注
关注
1文章
301浏览量
37825 -
多语言
+关注
关注
0文章
6浏览量
6551 -
脚本
+关注
关注
1文章
387浏览量
14829
原文标题:QT|多语言切换
文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论