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

运行:

相关推荐
城管不管1 分钟前
rabbitmq如何保证消息不丢失?解决方案又是什么?
开发语言·ai·面试·职场和发展·rabbitmq·php·agent
程序员良辰3 分钟前
【TongWeb7】启动接近两分钟问题排查
java·开发语言·中间件
深色風信子5 分钟前
Kotlin Bytedeco OpenCV 图像图像58 无缝克隆
开发语言·opencv·kotlin·bytedeco
朝阳3916 分钟前
react19【系列实用教程】实用组件封装
开发语言·前端·javascript
我是苏苏23 分钟前
C#基础:使用System.Speech.Synthesis离线播放/朗读文字内容
开发语言·c#
Patrick在香港37 分钟前
Python依赖管理从踩坑到选型:pip/poetry/uv四种方案全面实测
开发语言·python·数据分析·scikit-learn·ai编程·pip·uv
我命由我1234539 分钟前
Kotlin 面向对象 - 枚举排序
android·java·开发语言·java-ee·kotlin·android studio·android-studio
程序喵大人41 分钟前
【C++进阶】STL容器与迭代器 - 10 把容器、迭代器和数据流串成一个小程序
开发语言·c++·容器·小程序·迭代器·stl
luj_17681 小时前
随机性在算法与占卜中的共通原理
c语言·开发语言·c++·经验分享·算法
Lazionr1 小时前
vector初识——从动态数组到STL核心容器
开发语言·c++