vs2013使用qt Linguist以及tr不生效问题

news/2024/9/22 22:42:41/

一、qt Linguist(语言家)步骤流程

1、创建翻译文件,在qt选项中

2.选择对应所需的语言,得到.ts后缀的翻译文件

3.创建.pro文件,并将.ts配置在.pro文件中

3.使用qt Linguist 打开创建好的以.ts为后缀的翻译文件,按图所示步骤将每一项内容配置好其翻译内容。

4.发布ts后缀的文件,得到qm后缀的文件

5.在代码中配置qm文件

QString sLanguage = "./bmpviewer_zh.qm";//设置翻译语言包(中文)
QTranslator translator;
if (translator.load(sLanguage))
{qApp->installTranslator(&translator);ui->retranslateUi(this);
}

        以上为空间文本的翻译配置,若是需要对消息盒子的信息进行多语言控制,需要在字符串其加上tr,这样即可在.ts文件中对其翻译进行配置。

tr("需要翻译的文本")

二、tr不生效问题

        在使用过程中发现tr对应字符串翻译不生效,网上大部分说明为,需要在派生类中加QObject宏。但是在我确认类中已加入QObject后,代码仍不生效。原翻译文件设置函数代码。

void MainWindow::setLanguage(const QString& sLanguage)
{QTranslator translator;if (translator.load(sLanguage)){qApp->installTranslator(&translator);ui->retranslateUi(this);}
}

偶然间查阅到QObject::tr无法获取翻译文本_qobject::tr 不起作用-CSDN博客

知道了QTranslator 不能为局部变量,将变量放到类中,试了一下还真行。


http://www.ppmy.cn/news/1464294.html

相关文章

产品经理-需求收集(二)

1. 什么是需求 指在一定的时期中,一定场景中,无论是心理上还是生理上的,用户有着某种“需要”,这种“需要”用户自己不一定知道的,有了这种“需要”后用户就有做某件事情的动机并促使达到其某种目的,这也就…

虹科Pico汽车示波器 | 免拆诊断案例 | 2012 款雪佛兰科鲁兹车偶尔多个故障灯异常点亮

故障现象 一辆2012款雪佛兰科鲁兹车,搭载1.8 L 发动机,累计行驶里程约为9.6万km。该车组合仪表上的发动机故障灯、ABS故障灯及动力转向故障灯偶尔异常点亮,同时发动机转速表和发动机冷却液温度表的指针会突然归零,严重时发动机无…

【区块链】fisco网络运维之添加节点黑名单

基于已完成的区块链系统与管理平台搭建工作,开展区块链节点的黑名单工作,具体操作如下 以node3为例子 1查看node0节点的连接状态日志(现有4个节点连接) 注意:如果查询不到连接状态,修改node0的配置文件中…

使用Java Swing制作一个飞翔的小鸟游戏

文章目录 一、需求分析二、技术介绍2.1相关技术2.2开发环境 三、功能实现1、开始2、运动3、死亡 四、部分代码实现获取源码 文章最下方获取源码!!! 文章最下方获取源码!!! 文章最下方获取源码!&…

字节跳动(校招)算法原题

大模型"价格战"越演越烈 昨天的 文章 提到,自从 5 月 15 号,字节跳动发布了击穿行业底价的豆包大模型后,各大厂家纷纷跟进降价,而且都不是普通降价,要么降价 90% 以上,要么直接免费。 今天是豆包…

ECMAScript 详解

ECMAScript 详解 ECMAScript(ES)是JavaScript的标准化脚本语言,由ECMA国际通过ECMA-262标准进行规范。ECMAScript定义了语法、类型、对象模型和内置对象等基本特性,是JavaScript、JScript和ActionScript等语言的核心部分。 以下…

Stream流模式通信及示例

Stream流模式通信是指在计算机网络中,数据作为连续的字节流传输而不是独立的数据包。它是一种面向连接的通信方式,常见于TCP(传输控制协议)。以下是Stream流模式通信的基本概念和一个简单的示例。 基本概念 面向连接&#xff1…

【计网】广播域和冲突域

一、相关概念 1.各层次设备 2.冲突域 2.1定义 冲突域通俗来讲就是在同一个网络中,两台设备同时传输的话会产生冲突。位于OSI的第一层:物理层 例如在集线器场景下,集线器属于物理层设备,它不具备交换机的功能,当收到节…