1.首先点击Qt VS Tools中的 create new translator file如下所示:

2.然后更改Filename的名字,比如release_zh.ts,这是中文的,release_en.ts,这是英文的

3.
(1)在代码中加载上面两个.ts文件
我这个demo中是用了一个comboBox实现的中英文切换,也即使ui.comboBox。这是绑定信号槽

connect(ui.comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(changeLang(int)));

(2)这是对应的槽函数

void QtGuiApplication1::changeLang(int index)
{QString langCode = ui.comboBox->itemData(index).toString();// 根据index加载不同的语言changeTr(langCode);// 刷新labelrefreshLabel();
}

(3)根据index加载不同的语言

void QtGuiApplication1::changeTr(const QString& langCode)
{static QTranslator* translator;if (translator != NULL){qApp->removeTranslator(translator);delete translator;translator = NULL;}translator = new QTranslator;// 中文if (langCode == "zh"){if (translator->load("release_zh.qm")){qApp->installTranslator(translator);}}// 英文else if (langCode == "en"){if (translator->load("release_en.qm")){qApp->installTranslator(translator);}}}

(4)刷新label

void QtGuiApplication1::refreshLabel()
{ui.label->setText(tr("china"));
}

**小结:**ui.label->setText(tr(“china”)); 这句代码的意思就是在Qt语言家中设置一个对应的“标签”,如下所示:

注意:每次更改setText中tr的内容时,都要进行更新,方法如下:右键点击你的项目,然后选择Iupdate All .ts Files in project,这是对.ts文件进行更新,必须执行的。要不不会更新的。
4.点击Qt VS Tools中的Launch Qt Linguist,然后打开自己的.ts文件,如下所示:

5.然后在刚才我们设置的settext所对应的china,把中文和英文都填写上,然后进行保存。
6.最后右键点击你们自己的工程选择Irelease All .ts File in Project,这步是生成.qm,是我们在项目中加载所需要的,不点击不会进行更新的哦!


7.实现界面:

二、下面说下我遇到的问题
因为我们在代码中的label(或者其他的)进行设置settext,正常在Qt的语言家中是可以找到tr中包裹过的内容的。但是我之前遇到过是不管怎么修改就是得不到tr中的内容:
原因是在建立release_zh.ts和release_en.ts这两个ts文件之前,我当时为了测试我又建立了test_zh.ts和test_en.ts文件,然后在vs会自动加载后面的两个ts文件,所有不管你怎么修改之前的ts文件都是没有用的。

解决办法:你可以在更新ts文件时,也就是点击Iupdate All .ts Files in Project,在输出窗口中看看你具体加载的是什么ts文件。然后用软件(比如notepad++)打开你项目中的.vcxproj,找到你输出窗口中加载的ts文件,如:

看看你要加载的ts文件是否存在,若是不存在就在加上,然后保存,就可以正常的加载你想要的ts文件,问题就可以解决啦!!!

vs2015 使用Qt语言家及其使用过程中遇到的问题相关推荐

  1. VS Qt 使用linguits(Qt语言家)生成.ts的翻译文件并翻译使用的详细过程

    VS 生成ts文件 vs中 Qt VS Tools--Create new translation File选择需要的语言,生成对应ts文件在解决方案的资源管理器的Translation File文件 ...

  2. QT语言家实现软件中英文切换

    环境:qtcreator 步骤: 首先是源代码中需要进行翻译转换的字符串内容要使用到tr函数包裹 工程文件.pro文件加上TRANSLATIONS += xx.ts 点击下图Qt语言家中的更新翻译,这 ...

  3. Qt多语言切换-Qt语言家

    csdn文章地址 github网址 1. 前言 本文利用Qt语言大师工具,实现Qt程序的多国家语言切换,在github上放置的开源代码中同时放置了所使用的 Qt语言大师程序.CSDN上有众多的Qt语言 ...

  4. Qt 语言家实现中英文切换

    生成ts文件 在QT的项目文件(.pro)中加入:TRANSLATIONS = XXX.ts YYY.ts(假设是多行,则用 \ 切割) TRANSLATIONS = CN.ts\EN.ts 工具-- ...

  5. QT 语言家 中英文切换

    环境: vs +qt msvc 创建ts文件 第一种: 工具->QT VS Tools 选择 第二种: 点击ok后,生成.pro文件 打开.pro文件,在.pro文件中添加 TRANSLATIO ...

  6. c语言打程序时会遇到什么问题,Sublime text3 实现C语言编译运行以及过程中可能遇到的问题...

    以前学C语言的时候主要用的编译器是cb,后来知道sublime text3配置之后可以编译运行C语言,在写简单程序的时候用起来就方便多了. 首先需要准备MinGW.sublime text3的安装包, ...

  7. 如何解决QT视频会议窗口在拉伸过程中整个界面闪烁的问题

    一.问题描述 开发环境:Qt5.15.0.Win10. Visual studio 2019.C++ 在开发视频会议项目的过程中,被一个问题困扰了很久.就是整个视频会议的界面在拉伸四周改变大小的过程中 ...

  8. 求qt如何解决小数计算过程中的精度丢失

    问题描述 在下面的例子中,变量a减去一个常量,本该值为0.90,但是通过程序得到a的值0.8999999999,例子如下: qreal a = 0.95; a = a - 0.05; 不光是做减法的时 ...

  9. [QT][问题]关于QT语言家使用失败的原因之一

    按照标准的qt使用教程 ( http://www.qter.org/forum.php?mod=viewthread&tid=781 ) 实践了下,发现除去主界面外,点开的窗口多语言没有问题. ...

  10. QT QTranslator 中英文翻译linguist语言家 翻译过程

    1.QT项目中,.pro文件内添加如下代码 TRANSLATIONS += test_zh.ts test_zh是自己起的名字,名字部分可以修改(一般中文为zh,英文为en) .ts是后缀,后缀不能改 ...

最新文章

  1. linux添加到普通用户sudo才干
  2. java awt显示到组件中出现乱码
  3. Linq之隐式类型、自动属性、初始化器、匿名类
  4. oracle体系三大文件,oracle 体系_第三章控制文件
  5. ant java 外部jar包_java – 在使用Ant的新jar文件构建中包括外部jar文件
  6. 10年老兵给程序员的10条建议! 1
  7. strtus中action注入spring bean
  8. 聚集索引表插入数据和删除数据的方式是怎样的
  9. Ubuntu20.04更新源步骤
  10. StoryBoard和代码结合 按比例快速兼容iPhone6/6 Plus教程
  11. pytest(2) pytest与unittest的区别
  12. 内点、外点、边界点(yee些概念)
  13. 用图层蒙版抠图并合成(每天一个PS小项目)
  14. Linux入门系列课程一
  15. 电脑如何查看wifi密码?
  16. 推荐一款3D插件可以用纯html+css打造3D效果
  17. 提问:usb摄像头无输出画面 /window下能识别摄像头,无输出图像拍摄时提示0XA00F4292(PhotoCaptureStartTimeout) /linux下不能识别
  18. unity 转盘记录
  19. laravel 压缩图片 Intervention/image
  20. 一文搞懂马尔可夫链 (Markov Chain)

热门文章

  1. cmpp3.0 java 华为_CMPP3.0/2.0完成短信收发功能(引用华为smsproxy开发包)
  2. 终端conda install安装包 import 错误_Tecplot 360 2017软件安装包+安装教程
  3. YOLO系列目标检测后处理-非极大值抑制
  4. WBS 工作分解结构
  5. 96道前端面试题+前端常用算法
  6. 山东大学高频电子线路综合实验 调幅通信机系统实验详解
  7. 北大学霸的超级学习术: 颠覆传统学习,效率轻松高10倍
  8. c#样条曲线命令_C#基数样条曲线的模拟实现(对应Graphics的DrawCurve)
  9. numpy安装与调试
  10. 怎么更改自己IP地址 切换电脑本机IP软软件哪个好用