windows下GBK编码方式的中文移植到ubuntu下UTF-8编码方式的工作是件很令人头疼的事情,经历过一次的我深深知道是多么的痛苦,

所以从今天起我打算写程序不在代码中用一个中文.那大家要问了,要是想显示中文怎么办,那就使用Qt的预言家!

我用一个最简单的例子来阐述如何做到在界面上来切换中英文显示!

1.用qtcreator创建一个 基于QMainWindow 的MainWindow即可

2.MainWindow构造函数中初始化翻译器并安装在程序上

translator = new QTranslator(this);

qApp->installTranslator(translator);

on_actionEnglish_triggered() //初始化初始状态

3..创建两个action 用来切换中英文显示

void on_actionEnglish_triggered();

void on_actionChinese_triggered();

切换其实就是翻译器加载不同的翻译文件然后从新设置一下该翻译地方的文本

void MainWindow::on_actionEnglish_triggered()

{
    translator->load(":/translations/english");
    retranslateUi();
}

void MainWindow ::on_actionChinese_triggered ()

{
    translator->load(":/translations/chinese");
    retranslateUi();
}

void MainWindow::retranslateUi()                         //注意! 被翻译的字符串一定要用 tr("xxxx") 括起来 这样在Qt语言家里才能找到待翻译的字符串

{
    ui->menuLanguage->setTitle(tr("language"));         //需要更新菜单栏文本  
    ui->actionChinese->setText(tr("chinese"));          //需要更新action文本
    ui->actionEnglish->setText(tr("english"));          //需要更新cation文本 
}

那翻译文件从哪里获取呢? 对了!就是用到Qt 语言家来生成 .

1.首先要生成 .ts文件 , 此文件Qt语言家可以识别打开来进行翻译

在.pro文件中加入  TRANSLATIONS = english.ts  chinese.ts ,

然后Qtcreator 工具 -->外部 -->qt 语言家-->lupdate 后就可以在源代码目录下发现 english.ts chinese.ts文件了.

2.用语言翻译家打开这两个文件将字符串翻译成对应的语言即可然后保存

3.通过qt语言家把.ts文件生成.qm文件提供给程序使用.

qt语言家界面点击 文件-->发布 即可在 .ts同级目录下找到 同名的.qm文件

然后将.qm文件放在合适的路径  qrc也好,直接扔到一个文件夹也好 只要能找到即可

软件开发,项目订制-- http://qtapp.taobao.com

联系qq: 2216144104

Qt 界面上控制中英文显示切换相关推荐

  1. 二、各模块的基本实现——1. 在Qt界面上显示树莓派摄像头捕获到的图像

    各模块的基本实现--1. 在Qt界面上显示树莓派摄像头捕获到的图像 本专题导航,Click Me 文章目录 各模块的基本实现--1. 在Qt界面上显示树莓派摄像头捕获到的图像 一些废话 一.思路 二. ...

  2. Android 屏蔽锁屏界面上的通知显示

    一. 前言 [定制需求描述]:在插入SD后,  锁屏状态下, 去掉提示"SD卡可用于传输照片和媒体文件" 需求拆解:  要求正常显示在SystemUI下拉状态栏,  只需要屏蔽在锁 ...

  3. QT界面迁移电脑时显示比例有问题的一种情况

    我在自己的电脑上开发QT软件,显示都是正常的,换到另外一台电脑上时,显示的比例有问题,但是内容还是可以显示的,只是显示的字体大小就大很多. 后来发现是因为两台电脑的缩放比例不一样,我的电脑缩放为150 ...

  4. 利用qt实现机器人可视化界面,并在界面上控制机器人各个关节运动

    本工程借助于clion配置的qt环境,同时依赖eigen tinyxml2等开源库,也借鉴了博客上一些文章,具体哪些忘记了,十分抱歉.本工程仅供参考.机械臂模型为史陶比尔官网的TX2-60L-HB.可 ...

  5. Qt界面上显示无穷大符号∞

    ushort inf[] = {8734, 0};         QString infString = QString::fromUtf16(inf);

  6. QT界面中实现视频帧显示的多种方法及应用

    QT界面中实现视频帧显示的多种方法及应用 (一) 引言 1.1 视频帧在QT界面中的应用场景 1.2 不同方法的性能和适用性分析 1.2.1 使用QLabel和QPixmap 1.2.2 使用QPai ...

  7. 字符编码、QString编码、Qt界面乱码问题总结

    目录 一.术语解释 1.编辑器(editor) 2.编译器(compiler) 3.源文件字符编码 4.执行文件字符编码 5.Unicode 二.Qt中的字符串 1.char*和std::string ...

  8. qt ui界面无法移动控件_使用qt 键盘上的方向键只能控制ui界面上的按钮选择,不能实现我设定的功能...

    已结贴√ 问题点数:20 回复次数:2 使用qt 键盘上的方向键只能控制ui界面上的按钮选择,不能实现我设定的功能 我做的是一个贪吃蛇游戏,现在我想实现的功能是:按下键盘上的上下左右箭头的方向按键时, ...

  9. Qt+OpenCV打开视频文件并在窗口界面上显示

    Qt+OpenCV打开视频文件并在窗口界面上显示 1.新建一个Qt Widgets Application,工程配置文件(.pro文件)内容如下: #------------------------- ...

最新文章

  1. Lucene.net多字段(Fields)、多索引目录(IndexSearcher)搜索
  2. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16...
  3. Logstash配置多个Input、Filter、Output
  4. 在长文本中当中使用正则表达式匹配限定长度范围的数字串的方法
  5. CM: transformation CRM_OFFICE_INT_RT_ADD_NS
  6. C语言中的位域的使用
  7. php 日期转毫秒_【小技巧】 各种日期操作方法汇总
  8. Java利用jacob实现文档格式转换
  9. 中大计算机考研爆冷,中山大学计算机“爆冷”,321分排名第二,网友:“锦鲤”附体!...
  10. BestCoder Round #56/hdu5463 Clarke and minecraft 水题
  11. 【电力电子】【2020.02】利用导抗式三相双有源桥DC-DC变换器实现宽范围高效率的拓扑结构和调制方案
  12. 2021-11-11 VirtualBox 安装windows 不全屏显示的解决方法
  13. 《2020年度中国数据竞赛年鉴》发布!
  14. dev、test 和 prod 是什么意思?
  15. Python词云库wordcloud 显示中文 !!!
  16. uniapp使用企业微信SDK踩坑指南
  17. BZOJ 3262: 陌上花开 (CDQ分治)
  18. https://wenku.baidu.com/view/24def725e53a580217fcf
  19. 简单的总结一下iOS面试中会遇到的问题
  20. MAX7219产品级驱动分享

热门文章

  1. IT项目综合计划模板(1)—项目整体介绍
  2. No Brainer 超级水
  3. 案例分析:运营菜鸟应该注意哪些细节?
  4. 9月19日云栖精选夜读:阿里云MVP Meetup极客开跑_与MVP一起玩转云计算
  5. 10-20个城市或纳入新限购范围 成交下降2%至3%
  6. (附源码)springboot+mysql+基于Java的学生请销假审批管理系统的设计与实现 毕业设计130939
  7. AI 知名企业“云从科技”今宣布完成 B 轮融资,总计获 25 亿元资金支持
  8. 单链表操作2-单链表A拆分成奇数和偶数值单链表B和C(个人学习笔记,仅供参考)
  9. 夺命雷公狗TP下关联查询
  10. android 上下平滑翻页