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文件:

运行:

相关推荐
小浣熊熊熊熊熊熊熊丶3 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
木千3 小时前
Qt中关于eventFilter函数无法过滤QTableWidget鼠标事件的处理方式
qt
啃火龙果的兔子3 小时前
JDK 安装配置
java·开发语言
星哥说事3 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
等....3 小时前
Miniconda使用
开发语言·python
zfj3213 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang
醇氧3 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop3 小时前
Aes加密 GCM java
java·开发语言·python
weixin_462446234 小时前
使用 Go 实现 SSE 流式推送 + 打字机效果(模拟 Coze Chat)
开发语言·后端·golang
JIngJaneIL4 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端