Qt 5.12.10 国际化
网上有资料但是不全,所以这里记录一份比较全的
1.创建项目
2.编辑 demo.cpp
这里写button用来做国际化示例,运行软件后是这个样子
#include "demo.h" #include "ui_demo.h" #include <QPushButton> demo::demo(QWidget *parent) : QMainWindow(parent) , ui(new Ui::demo) { ui->setupUi(this); // 按钮的文字需要使用 tr() 包含起来 QPushButton *btn = new QPushButton(tr("test"), this); // 设置按钮大小 btn->resize(100, 50); } demo::~demo() { delete ui; }
3.编辑Pro文件,添加一个配置,cn.ts 是翻译文件,cn这个文件的名字可以自定义。
TRANSLATIONS += \
cn.ts
4.点击【工具】【外部】【Qt预言家】【更新翻译】
5.打开Qt预言家,将ts文件放进去,找到需要翻译的地方,输入翻译后的文字
6.点击【文件】【发布】,然后会生成 qm 文件
7.对翻译文件做静态加载,然后运行软件就可以看见按钮的文字是中文了
编辑 main.cpp 做静态加载
#include "demo.h" #include <QApplication> #include <QTranslator> int main(int argc, char *argv[]) { QApplication a(argc, argv); QTranslator trans; // load 需要传递两个参数,文件名称、文件目录 trans.load("cn.qm", QApplication::applicationDirPath()); a.installTranslator(&trans); demo w; w.show(); return a.exec(); }
8.将生成的 cn.qm 文件放到debug文件夹下,然后运行
现在显示出来的就是中文了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析