Qt QTranslator 实现多语言转换(转载)

 

1、在*.pro文件里面添加
TRANSLATIONS += English.ts
Chinese.ts
根据自己想要添加多少种语言和什么语言视情况添加。


2、
a、通过qt ui设计师添加的文字

首先记得选上这个按钮

b、通过代码添加的文字,需要将需要转换的文字使用QObject::tr(“…”) 进行标记,否则程序中并不能对其进行识别。


3、生成ts 文件


4、修改ts文件

经过第三步后,会在文件目录下生成*.ts文件,用qt的Linguist(Qt 语言家)打开修改。


修改自己要转换的翻译文本


5、生成qm文件


6、代码实现

生成完qm文件后


7、多界面实现

因为我们做项目肯定不止一个界面,我们不可能每个界面都去重复这个步骤是吧,所以这里就用到了QEvent,里面有一个QEvent::LanguageChange,当改变语言时就会发送这个信号出来,我们用重写QEvent里面的void changeEvent(QEvent *e);来实现

virtual void changeEvent(QEvent *);

其他页面收到这个信号的时候就执行

this->ui->retranslateUi(this);

因为其他页面虽然收到了语言更改的信号,但是页面没有刷新,需要执行这个步骤使他刷新

PS.
博主本人一开始试的时候按照上面步骤6来然后执行7,运行后发现没有改变,后来把QTranslator m这个放到头文件里面,并为他new了,再来执行后面的就ok了,大家注意下。

原文链接:https://www.cnblogs.com/ybqjymy/p/13554737.html

Qt 多语言转换的更多相关文章

  1. struts2 国际化语言转换

    学习struts2,了解了使用struts2的配置文件可以走向国际化,实现页面的语言转换.我已中文和英文为例,简单的实现登录页面的国际化 废话不多说,上代码 一,login.jsp页面 使用s标签&l ...

  2. Qt 多语言支持

    简介 Qt 多语言支持很强大,很好用. 首先要强调的是程序中需要翻译的字符串最好都用 tr("message") 这种形式,这里的 "message" 就是需要 ...

  3. Pandoc —— 标记语言转换工具(中文乱码问题)

    今次毕业设计,来个逼格高的,用 latex 编写.谁曾想,学院首先要收一份 word 版的.辣么多的 latex 公式如何转呀. Pandoc 是由 John MacFarlane 开发的标记语言转换 ...

  4. Qt QTranslator 实现多语言转换

    1.在*.pro文件里面添加TRANSLATIONS += English.tsChinese.ts根据自己想要添加多少种语言和什么语言视情况添加. 2.a.通过qt ui设计师添加的文字 首先记得选 ...

  5. QT 12 QTimage转换Mat

    QImage cvMat2QImage(const cv::Mat& mat) { // 8-bits unsigned, NO. OF CHANNELS = 1 if(mat.type() ...

  6. qt中字符串转换

    11.各种数据类型的相互转换char * 与 const char *的转换char *ch1="hello11";const char *ch2="hello22&qu ...

  7. QT的时区转换以及使用注意事项

    QDateTime localDate = QDateTime::fromString("2018-12-11 10:40:00", "yyyy-MM-dd hh:mm: ...

  8. QT把widget转换成图片后打印

    from PyQt5.QtWidgets import (QApplication, QWidget, QTableWidget,QPushButton, QVBoxLayout, QTableWid ...

  9. XSLT可扩展样式表语言转换 System.Xml.Xsl、XslCompiledTransform类

    XML文件 books.xml: <?xml version="1.0" encoding="utf-8" ?> <bookstore> ...

随机推荐

  1. PHP lstat() 函数

    定义和用法 lstat() 函数返回关于文件或符号连接的信息. 该函数将返回一个包含下列元素的数组: [0] 或 [dev] - 设备编号 [1] 或 [ino] - inode 编号 [2] 或 [ ...

  2. PHP wordwrap() 函数

    实例 按照指定长度对字符串进行折行处理: <?php高佣联盟 www.cgewang.com$str = "An example of a long word is: Supercal ...

  3. Metal 线宽如何选择

    https://www.cnblogs.com/yeungchie/ Metal 线宽如何选择 假如Metal是为了传输电流,则主要需要从解决和减小它的寄生电阻.寄生电容方面多做考虑.寄生电感一般忽略 ...

  4. 5.12 省选模拟赛 T2 贪心 dp 搜索 差分

    LINK:T2 这题感觉很套路 但是不会写. 区间操作 显然直接使用dp不太行 直接爆搜也不太行复杂度太高. 容易想到差分 由于使得整个序列都为0 那么第一个数也要i差分前一个数 强行加一个0 然后 ...

  5. .net core编写转发服务(二) 添加服务发布订阅

    源设计就单纯完成了把服务转发到特定的服务模块,一定程度上解耦了业务流程 但是我们实际开发过程中会面临服务转发后还有一些列关联的服务 举个例子 你调用了发送邮件的服务,接下来会面临扣费的服务,扣费之后会 ...

  6. redis(一)内部机制的介绍和启动过程

    redis(一)内部机制的介绍和启动过程 redis的基本介绍 redis服务端 redis客户端 redis的持久化 redis中的文件事件和时间时间 redis的启动过程 redis的基本介绍 r ...

  7. leetcode刷题笔记-3. 无重复字符的最长子串(java实现)

    题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "ab ...

  8. go 字符串

    目录 前言 1.声明/赋值 2.遍历 3.操作 1.截取 2.修改 3.连接 4.比较 5.查长 6.格式化输出 4.字符串优势 跳转 前言 不做文字的搬运工,多做灵感性记录 这是平时学习总结的地方, ...

  9. Web前端性能优化,应该怎么做?

    摘要:本文将分享一些前端性能优化的常用手段,包括减少请求次数.减小资源大小.各种缓存.预处理和长连接机制,以及代码方面的性能优化等方面. base64:尤其是在移动端,小图标可以base64(webp ...

  10. 后端排序时去掉element表格排序的null状态

    经常会遇到远程排序,需要去掉null状态的排序,当设置sortable='custom'时,设置sort-orders为['ascending', 'descending']是不生效的.然后查到了一种 ...