qt c++ 图片预览_Qt多语言国际化

c82588eea5e344b51f0971cf67873328.png

Qt附加工具介绍

  • Qt Assistant(Qt助手)
  • Qt Linguist(Qt语言家)
  • Qt Designer(Qt设计师)

Qt Assistant

Qt Assistant是可配置且可重新发布的文档阅读器,可以方便地进行定制并与Qt应用程序一起重新发布。Qt Assistant已经被整合进Qt Creator,就是前面介绍的Qt帮助。

选中关键词后按F1查看文档阅读器

Qt Designer

Qt Designer是强大的跨平台GUI布局和格式构建器。由于使用了与应用程序中将要使用的相同的部件,可以使用屏幕上的格式快速设计、创建部件以及对话框。使用Qt Designer创建的界面样式功能齐全并可以进行预览,这样就可确保其外观完全符合要求 。

shift+Alt+R进行预览

Qt Linguist

Qt Linguist 提供了一套加速应用程序翻译和国际化的工具。Qt 使用单一的源码树和单一的应用程序二进制包就可同时支持多个语言和书写系统。

第一个Qt程序

新建项目

2b8dc4adbd57508fe389541e204f659f.png

63f27dfc6e358d6f7a68064734e3ae4a.png

94843e0d5852f5df8f1a146a15abf45f.png

d68d5ed7b6bf9a50b576ee12e7a4a4f0.png

5c799c48894edec3e9382248b2a6a9dd.png

8679dc13219a574a2fca252afce01e7b.png

新建完项目之后可以左下角的锤子构建项目,然后点击绿色三角标志运行程序

基于qt语言家的语言切换

❝Assistant(Qt语言家),类似于MSDN最权威的速应用程序翻译和国际化的工具。Qt 使用单一的源码树 和单一的应用程序二进制包就可同时支持多个语言和书写系统,有助于软件走向国际化,普度众生。

具体步骤:

  1. 生成.ts文件,lupdate
  2. 翻译成制定语言,生成.qm文件,lrelease。
  3. 加载qm文件,load()
  4. install

效果呈现

中文:

92a460de81acbc648e562a887f204a1d.png

英文:

ff6aa27415a588b65f77cdde92dcf283.png

UI设计

64bf5b4ebed5970efb2cce3b6aede180.png

拖动Lable控件和日历控件到界面

4e0b19c2e6cc447c7de59205f79688f1.png

双击Lable控件修改名字,设置字体以及字体大小

cc449478bb48dd2e1ab84f4e7fc11806.png

双击菜单栏添加一级菜单,二级菜单无法直接输入中文,在属性里面修改

多语言

step1:pro文件底部添加对翻译的支持

TRANSLATIONS = Translate_EN.ts 
Translate_CN.ts

step2:生成.ts文件

4917aa819eb4ead88c1720520a32d7ea.png

step3:使用qt语言家翻译ts文件

将Translate_CN.ts文件用Qt Linguist打开 汉语­(一般不用改,我们使用的是汉语,只需要改汉译英的)

14f26c430b522f8965f7fb5a81206a21.png

12a8431d853889ceaea809558b5b0bd1.png

Translate_EN.ts

汉语­>英语

6545e3049f21522edc1383699c352f50.png

step4:生成.qm

795ceb545ebb322c611acd60ab248d80.png

step5:加载qm文件

定义QTranslator对象(类内定义)

QTranslator *m_Translator;

分配对象(构造中分配)

m_Translator = new QTranslator(this);

设置菜单响应

e22ca9788a7e69a7968ecafe441b2cc7.png

选择默认的trigered()即可,信号与槽后面介绍,按步骤来就行

切换英文

m_Translator‐>load("Translate_EN.qm");

切换中文

m_Translator->load("Translate_CN.qm");

step6:安装qm文件

qApp‐>installTranslator(m_Translator);

问题:日历还没有修改

ui‐>calendarWidget‐>setLocale(QLocale::Chinese);	//设置日历英文
ui‐>calendarWidget‐>setLocale(QLocale::C);			//设置日历中文

注意事项:

3c410a3382b33f91648c3531c008b396.png

如果加载不成功,说明路径错了,QtCreator生成的.qm文件是在.pro目录下,需要移至debug目录下,才能正确读取.qm文件,实现语言的切换

源代码github地址:

https://github.com/ADeRoy/Qt_Demo.git​github.com
微信公众号【编程学习基地】,期待你的关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Icon+启动图尺寸

1、LaunchImage 启动图 命名格式: 1x -> xxx.png 2x -> xxx2x.png Retina 4 -> xxx2x.png     转载于:https://www.cnblogs.com/z-z-z/p/7828082.html

智商情商哪个重要_《所谓逆商高,就是心态好》:逆商,比情商和智商更重要...

所谓“逆商”,是指人们遇到逆境时的应对能力,即战胜挫折、摆脱困境和超越困难的能力。我们一生会面临各种各样的难题,也许是考试失利,也许是和心爱的人分离,也许是工作上竞争失败……在失意的时候你会做何选择&#xf…

mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.

MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名。尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名效果。在这里我用一个简单例子来实现…

意大利_【解读】去意大利留学,一定要学意大利语吗?意大利语难吗?

喜欢意大利,想去意大利留学,但不想学意大利语可以吗?意大利语太难了,听说有英授专业(本来就要学英语、考雅思所以不担心英语)……问题来了去意大利留学,选择英授专业的话还需要学意大利语吗?我们一点点剖析…

MD5、SHA1、SHA256的简单讲解

简述: 最近在研究系统以及驱动,当下载比较大的文件时总会提供SHA1或者SHA256,下载结束后使用校验工具得到的值与它进行比对来判断下载是否成功。 使用工具校验 certutil -hashfile 文件名 sha1/sha256/md5正文: MD5、SHA1、SHA256这些都被称为 哈希…

java swarm集群_52个Java程序员不可或缺的 Docker 工具

Docker工具分类列表编排和调度持续集成/持续部署(CI / CD)监控记录安全存储/卷管理联网服务发现构建管理编排和调度 1. KubernetesKubernetes是市场上最实用的最受欢迎的容器编排引擎。最初作为一个Google项目开始,成千上万的团队使用它来部署生产中的容器。谷歌声称…

comsol显示电场计算结果_在 COMSOL 中构建磁流体动力学多物理场模型

COMSOL Multiphysics 软件中的模型都是从零开始构建的,软件支持多物理场,因此用户可以按照自己的意愿轻松地组合代表不同物理场现象的模型。有时这可以通过使用软件的内置功能来实现,但有些情况下,用户需要做一些额外的工作。我们…

RGB转LAB色彩空间

https://www.cnblogs.com/hrlnw/p/4126017.html 1.原理 RGB无法直接转换成LAB,需要先转换成XYZ再转换成LAB,即:RGB——XYZ——LAB 因此转换公式分两部分: (1)RGB转XYZ 假设r,g,b为像素三个通道,…

React- jsx的使用可以渲染html标签 或React组件

React 的 JSX 使用大、小写的约定来区分本地组件的类和 HTML 标签。既渲染html标签需要使用小写字母开头的标签名而渲染本地React组件需要使用大写字母开头的标签名 注意: 由于 JSX 就是 JavaScript,一些标识符像 class 和 for 不建议作为 XML 属性名。作为替代&…

bigdecimal保留4位小数_四年级数学小数的加减乘法知识点汇总,带练习!

张老师 - 4年级(多品小学教育)顺城中心小学郭老师和环县虎洞中心小学谭老师需要的这份学习资料现在分享。本资料已制作电子版下载码是:76qa32vd《小数的加减乘法》知识点一、小数加、减法的计算法则(1)小数点要对齐,也就是相同数位要对齐;相同…

vs未指定启动文件_高效开发利器之自定义模板文件

简介越来越多的设计模式, 最佳实践, 优化了软件开发方式, 提高了软件质量, 但是也带来了大量的类似的文件. 比如说: 现在都使用三层模式来开发Web程序, 都会有服务层(Service), DI的流行, 每个服务类都会自动注入一些固定的对象, 日志对象, 缓存对象等等. 实体类(Entity)到DTO对…

react-router 4.0 学习笔记

1、安装react-router-dom 2、页面上要使用的时候要引入  import {BrowserRouter as Router,Route,Link } from react-router-dom 3、使用的时候要在外层包一个<Router> 4、param 在路径上如果带有/:id类似这种的&#xff0c;要取值的时候&#xff0c;match.params.id取…

分数优先遵循志愿php源码_2021年南昌中考志愿填报指导,这七大要点你都了解吗?...

中考是孩子即将面对人生的第一个十字路口&#xff0c;家长们也因此开始为孩子的未来紧张。都说选择大于努力&#xff0c;给孩子选一个适合的学校也很重要&#xff0c;为了大家可以更好的填报志愿&#xff0c;小编为大家汇总了这份指南&#xff0c;快来一起看看吧~1、认清自己&a…

gin ip 和 本地访问的结果不一样_golang web开发——gin实战之整合swagger

背景如果我们之前搞过java web开发&#xff0c;我们应该都知道swagger这个API文档自动生成利器&#xff0c;有了swagger可以方便我们与客户端的联调&#xff0c;基本上是一目了然&#xff0c;swagger支持java&#xff0c;自然它也能支持golang的gin框架&#xff0c;本小节&…

cif是目的港交货吗_刚接手出口业务,搞不懂FOB? CIF? 为你科普→

Export专用名词辨析01 名词辨析#FOBFOB(Free On Board)&#xff0c;含义是装运港船上交货&#xff0c;指卖方在合同规定的装运港负责将货物装上买方指定的船上&#xff0c;并负责货物装船之前的一切费用和风险&#xff0c;以及办理出口通关的相关事宜及费用&#xff0c;所以在实…

中的数组怎么转成结构体_传说中的“衡水体”应该怎么练?

传说中的“衡水体”应该怎么练&#xff1f;我也不知道&#xff0c;哈哈哈哈哈哈。因为我之前关于衡水体的回答最高赞评论说我这个不是衡水体……随便写的之前的回答所以&#xff0c;这篇文章纯属交流分享&#xff0c;同时枯燥无味&#xff0c;可能适合觉得自己书写不好看的高中…

windows 显示苹果分区_基准测试数据显示苹果M1运行Windows的表现比微软自家硬件好上近一倍...

根据最新的基准测试&#xff0c;苹果M1运行 "Windows 10 on ARM "的速度比微软自家的硬件快了近2倍。更新后的基准数据显示&#xff0c;苹果M1上的Windows 10比Surface Pro X快得多&#xff0c;这还是配备了基于骁龙8cx的处理器的Surface Pro X原生运行该操作系统的环…

python 发邮件_Python发邮件告别smtplib,迎接zmail

之前介绍过smtplib发邮件代码&#xff0c;直到今天仍有人在这里遇到问题。而且代码复杂&#xff0c;解释起来很麻烦&#xff0c;今天给大家介绍一个新的发邮件方法——zmailzmail的优势自动填充头信息将一个字典映射为email&#xff0c;构造邮件相当于构造字典自动寻找邮件服务…

重复数据_MongoDB 自动过滤重复数据

摘要&#xff1a;使用 update_one() 方法而不是 insert_one() 插入数据。相信你一定有过这样的经历&#xff1a;大晚上好不容易写好一个爬虫&#xff0c;添加了种种可能出现的异常处理&#xff0c;测试了很多遍都没有问题&#xff0c;点击了 RUN 开始正式运行 &#xff0c;然后…

多个canvas画布合并_canvas的基础入门

nvas是定义在浏览器上的画布。它不仅仅是一个标签元素更是一个编程工具是一套编程的接口。利用它可以开发出很多东西&#xff0c;比如动画&#xff0c;游戏&#xff0c;动态的图表等富有变现力和感染力的应用。还可以开发出绚丽的3D动态效果。接下来我们一起学习&#xff01;一…