qt中tr的使用

在 Qt 中使用 tr 函数对字符串进行翻译时,通常会通过 Qt Linguist 工具来处理翻译。以下是一个基本的步骤说明,展示如何将 QPushButton *btn=new QPushButton(tr("Hello World"),this); 翻译成其他语言,比如中文:

1.创建翻译文件

使用 lupdate 工具从你的源代码中提取字符串,生成一个 .ts 文件。

lupdate tr_demo.pro -ts tr_demo.ts

2.使用 Qt Linguist

打开生成的 .ts 文件,使用 Qt Linguist 工具进行翻译:

  • 找到 Hello, World! 字符串。
  • 在翻译框中输入对应的翻译,例如:你好世界
复制代码
<message>
  <location filename="widget.cpp" line="10"/>
  <source>Hello World</source>
  <translation type="unfinished">你好世界</translation>
</message>

在pro文件中加入:

TRANSLATIONS = tr_demo.ts

lrelease 是 Qt 提供的一个命令行工具,用于将翻译文件(.ts 文件)转换为可在应用程序中使用的二进制翻译文件(.qm 文件):

复制代码
lrelease tr_demo.ts

在代码中加载qm文件:

运行:

相关推荐
白晨并不是很能熬夜7 小时前
【PRC】第 2 篇:Netty 通信层 — NIO 模型 + 自定义协议 + 心跳
java·开发语言·后端·面试·rpc·php·nio
简简单单就是我_hehe7 小时前
后端链路追踪局部采集和全量采集配置说明
java·开发语言
北京理工大学软件工程7 小时前
C#111
开发语言·c#
叶子野格8 小时前
《C语言学习:指针》12
c语言·开发语言·c++·学习·visual studio
光影少年8 小时前
前端线上屏幕出现卡顿如何排查?
开发语言·前端·javascript·学习·前端框架·node.js
ch3nyuyu8 小时前
静态库和动态库的制作
linux·运维·开发语言
a1117768 小时前
高斯泼溅 (Gaussian Splatting) 的 Three.js 实现
开发语言·javascript·ecmascript
成都渲染101云渲染66669 小时前
云渲染全面支持3dsMax 2027,高效渲染体验升级
开发语言·前端·javascript
向往着的青绿色9 小时前
Java反序列化漏洞(持续更新中)
java·开发语言·计算机网络·安全·web安全·网络安全·网络攻击模型
小短腿的代码世界10 小时前
Qt跨进程通信在交易系统中的应用:让策略引擎与风控模块在毫秒级握手
开发语言·qt