一、简介

源代码中经常会出现一些字符串,比如定义要显示在控件上的文本,在不同的语言环境下,可能会需要显示不同语言对应的文本。针对多语言切换的需求,Qt提供的解决方案是,在所有需要翻译的字符串处都使用QObject::tr()函数,Qt提取出所有QObject::tr()函数的参数,使用Qt语言家对其进行翻译后发布,Qt程序可以在运行时加载发布的翻译文件以更新文本字符串。所有说你QT语言加就是解决字符串乱码和翻译的问题

二、操作

在项目面板下,双击helloqt.pro对其进行编辑,在最后加上一行

TRANSLATIONS += helloqt_zh_CN.ts

就如这样:

在菜单栏上选择“工具”-“外部”-“Qt语言家”-“更新翻译”

然后在你的项目路径下就会生成一个叫做“helloqt_zh_CN.ts”的文件

点开始点击所有程序”-“找到你自己安装的QT目录下找到“Linguist” 打开Qt语言家,“文件”-“打开” 选择项目路径下的helloqt_zh_CN.ts。如图:

打开他找到刚刚在项目路径下生成的文件

左侧上下文面板中,选择MainWindow,在源文下选择”Hello, world!!”,在下方面板中,汉语 译文输入框中输入“你好 世界!”,

再点击源文列表下”Hello, Qt!”前面的问号图标,变为勾号。确认这一行已翻译。

然后就点击文件保存和点击文件发布生成新的文件“helloqt_zh_CN.qm”

回到QtCreator,编辑main.cpp

#include "mainwindow.h"
#include <QApplication>
#include <QTranslator> //新增
int main(int argc, char *argv[])
{
    QApplication a( argc, argv );
    QTranslator translator; //新建翻译类
    translator.load("helloqt_zh_CN"); //导入生成的文件
    a.installTranslator(&translator); //装入
    MainWindow w;
    w.show();
    return a.exec();
}

构建项目,

helloqt_zh_CN.qm

与生成的

exe

放在同一目录下,

双击运行

exe

即可看到程序界面上的文字显示为中文了。

构建项目,将helloqt_zh_CN.qm与生成的exe放在同一目录下,双击运行exe,即可看到程序界面上的文字显示为中文了。

qt学习之路(三)之使用QT语言家相关推荐

  1. QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)

    QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64) 1.编译方式介绍: 2.动态编译方式打包发布QT程序: 方法一:手动复制 方法二:使用工具 问题& ...

  2. QT学习篇(三):QT音频采集QAudioInput

    对于音频采集有很多的方式,在windows下存在API可以使用,例如wave:但是QT中有一个强大的音频处理的库,可以实现音频采集,设置采集的参数等.       这里便来记录下对这个库的使用---- ...

  3. Qt学习之路(1)------Qt常用类用法说明

    Qt常用类 向控制台输出文本 第一个例子,我们采用STL的方式: console.cpp #include <iostream>int main() {std::cout << ...

  4. QT学习笔记(三)——vs2019+Qt实现打开影像并以鼠标为中心用滚轮控制图片缩放

    vs2019+Qt实现打开影像并以鼠标为中心用滚轮控制图片缩放 之前写了一个博客讲怎么显示一张影像,那个是基于Qpainter的 今天使用QLabel来显示影像,并且用鼠标滚轮控制缩放. 关于图像的打 ...

  5. [记录]QT学习之路2学习第三天

    今天的内容对应的是<<QT学习之路2>>第13到17部分. 主要内容由思维导图总结 一,什么是QT对话框 二,什么是QT标准对话框 三,怎么样实现QT对话框数据传递 四,深入了 ...

  6. Qt学习之路_12(简易数据管理系统)

    原文地址为: Qt学习之路_12(简易数据管理系统) 前言 最近从大陆来到台湾,之间杂事很多,挤不出时间来更新博客- 这次主要是通过做一个简易的数据库管理系统,来学习在Qt中对数据库,xml,界面的各 ...

  7. QT学习之路2 学习笔记

    QT学习之路2 学习笔记 1.Qt 是一个著名的 C++ 应用程序框架.你并不能说它只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个&quo ...

  8. Qt学习之路(24): QPainter(改写paintEvent)

    Qt学习之路(24): QPainter(改写paintEvent) 多些大家对我的支持啊!有朋友也提出,前面的几节有关event的教程缺少例子.因为event比较难做例子,也就没有去写,只是把大概写 ...

  9. [记录]学习QT学习之路2第四天

    今天学习内容对应<<QT学习之路2>>第18到23部分,主要是有关于QT事件这一部分的内容(=_=真是看到我快吐了,感觉这本书不适合我这种初学者). 先放出思维导图 难点总结 ...

  10. 转载: Qt 学习之路 2归档

    Qt 学习之路 2归档 http://www.devbean.net/2012/08/qt-study-road-2-catelog/

最新文章

  1. Deep Learning 学习随记(三)续 Softmax regression练习
  2. CFile类打开文件的有趣现象
  3. Turbo Intruder 使用 - 拥抱十亿请求攻击
  4. Java NIO框架Mina
  5. 二分 poj 3273
  6. 并发编程的数据竞争问题以及解决之道
  7. myeclipse jdk tomcat mysql配置_JDK,TOMCAT,myeclipse,mysql安装以及配置
  8. 【STM32】STM32F4 CAN2只能发送无法接收问题解决
  9. w3cc离线版手册_web前端入门必备手册,离线w3school参考手册
  10. bzoj3456:城市规划
  11. c语言中未声明的标识符要怎么办,vc ++未声明的标识符,虽然它已声明
  12. 诺基亚10.22变革影响的分析
  13. 托马斯微积分第十一版_企业微服务第一部分
  14. EEMD算法原理及应用
  15. java无法远程读写HDFS系统解决方案
  16. 利用LM317的LED恒流源电路图
  17. 提高迅雷下载速度 超好用,下载速度实实在在的提高了!
  18. vue2 配置本地IP地址访问项目
  19. uni-app 微信小程序 选取地区取到区
  20. 已解决 vmware 虚拟机安装后没有虚拟网卡问题

热门文章

  1. php goeasy,PHP使用GOEASY实现WEB实时推送
  2. 北京自贸区国际商务服务片区挂牌 总面积48平方公里
  3. qam映射c程序_DVB-C系统中QAM调制与解调仿真
  4. pdfbox创建pdf_使用PDFBox处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)...
  5. 万能地图下载器如何下载屏幕之外的谷歌卫星地图
  6. 图片 后台 的一些官网 改字体的一些网站
  7. Spring拦截器和过滤器的区别及详解
  8. wps小写金额转大写快捷键_WPS轻松办公—将数字转换中文大写的两种方法
  9. C语言IDE推荐code::blocks
  10. 山东大学高频电子线路实验三 正弦波振荡器实验详解