Qt 乱码
个人认识:
乱码的原因:
在编写代码时--》文件的格式---》编译器对文件进行编译的时候看到的只是二进制(乱码就出现在这里)
应合适方法 通知编译器(为什么说通知编译器呢?因为个人觉得这样好理解)使用的 字符串编码。这样在显示的时候就不会乱码了。
在QT5中,编写的代码格式若用utf-8保存,中文显示不会乱码。
但若用GBK或GB2312时候会乱码。。因此需通知编译器我的编码格式。
众所周知,汉字,占两个字节,8位。。
因此在使用汉字时加上:QString::fromLocal8Bit("我是中文");
另一种解决方法个人比较推荐的,就是用tr(“english” ) 通过汉化来显示为中文:
这里简单的说一下汉化过程:
所有需要汉化的字符串用tr(" ");包裹(用词不当但好理解)
若使用Qt creator 则在.pro文件假如一下代码:
TRANSLATOR=XXX.ts\ (若就一个 \可省略)
XXX2.ts
几种语言版本就加几个.ts 一般加一个中文版的就好
然后对项目进行编译;
使用lupdate xxx.pro 生成xxx.ts文件
用linguist打开.ts文件,设置英文对应的汉语,保存 并 lrelease 发布 生成.qm文件
如何使用.qm文件呢?
把qm文件加入到项目资源(非必须,可用绝对路径,但放到资源里比较好用呀)
使用QTranslator 对象进行load();加载
在用QApplication 对象进行installTranslator(translator); 安装
很形象的过程:翻译,发布,加载,安装
Qt 乱码的更多相关文章
- Qt乱码解决办法(常量中有换行符)
用记事本打开源代码,然后点另存为,utf-8,编码覆盖 QStringLiteral("打开相机")
- Qt乱码的问题
1.在启动应用程序前加入以下代码: //配置字符编码环境,让应用程序支持中文. QTextCodec *codec = QTextCodec::codecForName("System&qu ...
- Qt sprintf_s函数格式化字符串出错
Qt sprintf_s函数格式化字符串出错 问题的出现: 我在VS上用c C++写的跨平台的函数 移植到Qt 上面 出现sprintf_s 函数格式化出错. 开始以为是编码问题 反复查找Qt乱码问 ...
- QT的初步学习笔记
一.Qt简介 1.Qt是什么:图形用户界面程序框架 能做界面的还有什么:MFC.GTK+ 2.Qt的由来和发展 3.为什么选择Qt 二.Qt环境与工具 1.工具 a.Qt助手:里面详细说明了Qt ...
- Qt5遇到的问题
好久没用Qt了,今天又重新安装了一个,结果遇到不少问题 本机环境:VS2015,Qt5.7 装好后,就新建工程测试了一下,结果无法编译,提示 :-1: error: cannot open C:\Us ...
- java web 学习十(HttpServletRequest对象1)
一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...
- linux下QT程序输出乱码解决方法
参考文章:http://blog.csdn.net/jiang1013nan/article/details/6667871 http://my.oschina.net/zjlaobusi/blog/ ...
- QT笔记之解决QT5.2.0和VS2012中文乱码 以及在Qt Creator中文报错
转载:http://bbs.csdn.net/topics/390750169 VS2012 中文乱码 1.方法一: 包含头文件 #include <QTextCodec> ....... ...
- Qt中文乱码解决思路
最近项目中遇到不少的Qt中文乱码的问题,主要原因是客户的需求比较多,Qt版本有用4的版本的也有用5的版本,并且还有windows与linux跨平台的需求.经常出现个问题是windows的解决了,源代码 ...
随机推荐
- Spring入门案例
一.Spring基本介绍 1.什么是Spring Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control: 反转控制 ...
- bzoj3858Number Transformation*
bzoj3858Number Transformation 题意: 给一个数n,对其进行k次变换,第i次变换是将当前的n变成大于等于n的最小的i的倍数.求k次变换后n为多少.n≤10^10,k≤10^ ...
- 问题:win10缺少一个或多个网络协议
国庆回家,家里电脑连不上网了,诊断给出的结果是“缺少一个或多个网络协议” 网上这类问题提问的不少,回答的方法也是各种各样,一个一个试下来,发现这个方法是可行的. 1.打开设置--网络和Internet ...
- Apache Avro & Avro Schema简介
为什么需要schema registry? 首先我们知道: Kafka将字节作为输入并发布 没有数据验证 但是: 如果Producer发送了bad data怎么办? 如果字段被重命名怎么办? 如果数据 ...
- 将python3打包成为exe可执行文件(pyinstaller)
我们工作中可能会遇到,客户需要一个爬虫或者其他什么功能的python脚本. 这个时候,如果我们直接把我们的python脚本发给客户,会有两个问题: 1.客户的电脑或者服务器可能并没有安装python环 ...
- bootstrap中模态框如果放入form表单中会存在的问题
bootstrap中模态框如果放入form表单中会存在的问题:当模态框显示时,点回车会出现表单自动提交!!!所以在使用模态框的时候要特别注意!
- C#数据结构与算法系列(二十二):快速排序算法(QuickSort)
1.介绍 快速排序(QuickSort)是对冒泡排序的一种改进,基本思想是:通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数 ...
- Python Ethical Hacking - BACKDOORS(5)
File Download: A file is a series of characters. Therefore to transfer a file we need to: 1. Read th ...
- Atlassian Confluence 5.1.2 破解版部署
Atlassian Confluence(简称Confluence)是一个专业的wiki程序.它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享.Confluence 不是一个开源软件 ...
- Vue开发者必会的基础知识盘点
你会Vue吗,你看以下知识点你掌握了多少?实际工作中是否运用的得心应手?如果是,那么恭喜你! Vue中的数据和DOM已经被关联起来,所有的东西都是响应式的.注意我们不再和HTML直接交互.一个Vue应 ...