zoukankan      html  css  js  c++  java
  • 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); 安装

                             很形象的过程:翻译,发布,加载,安装

                                 

  • 相关阅读:
    Android ---------- 下拉刷新,上拉加载
    Android ---------- 富文本构建
    php操作字符串(移除字符,计算字符串中字符个数,分割字符串,字符串序列化
    Android ---------- 弹出层自定义布局 之 AlertDialog
    Android ---------- 延时操作
    Android ---------- TabLayout 实战 (二) 仿京东商品详情页
    定风波·莫听穿林打叶声
    hiveSQL执行,转化为MR过程
    who 命令显示关于当前在本地系统上的所有用户的信息
    hadoop中压缩与解压详解
  • 原文地址:https://www.cnblogs.com/infoo/p/6652914.html
Copyright © 2011-2022 走看看