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

运行:

相关推荐
科技道人6 小时前
记录 默认置灰/禁用 app ‘Search Engine Selector‘ 的disable按钮
开发语言·前端·javascript
逝水无殇9 小时前
C# 异常处理详解
开发语言·后端·c#
玖玥拾10 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
铅笔侠_小龙虾11 小时前
Rust 学习目录
开发语言·学习·rust
云泽80811 小时前
从零吃透 C++ 异常:抛出捕获、栈展开、异常重抛与编码规范详解
开发语言·c++·代码规范
灯澜忆梦11 小时前
GO---可见性规则
开发语言·golang
逝水无殇11 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
这是个栗子12 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
凤凰院凶涛QAQ13 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
研☆香13 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript