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

运行:

相关推荐
云和数据.ChenGuang8 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节
xyouyuweizhu8 小时前
字节流与字符流:Java IO 的两条主线该怎么选
java·开发语言·python
多弗朗皮卡丘9 小时前
C++的IO流
开发语言·c++·io流·文件io流
骑着蜗牛撵大象3279 小时前
AI Agent 工程化开发实战(三):用 StateGraph 给智能体搭一条可回放的状态流水线
java·开发语言·jvm·ai·状态管理·langgraph·stategraph
itmigrate9 小时前
Rust 里的所有权误区:不是不写 clone 就叫高性能
开发语言·后端·rust
Brilliantwxx9 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
摇滚侠9 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记
xiangyun6110 小时前
C++ 手撕 shared_ptr:引用计数与控制块到底长什么样?
开发语言·c++·算法·面试·stl
XiYang-DING10 小时前
P4009.和为K的子数组个数 & P5522.异或和为 k 的子数组个数
java·开发语言
jaysee-sjc10 小时前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel