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); 安装

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

                                 

  • 相关阅读:
    codeforces 439C 模拟
    codeforces 435B
    【WebVR】AFrame中的A-sky无法利用src指定路径显示全景图
    【UE4】添加头文件之后VS中UCLASS()报错问题解决办法
    【UE4】蓝图之间的通讯
    git中报unable to auto-detect email address 错误的解决办法
    2017ACM省赛总结与生涯回顾
    hihocoder#1121 : 二分图一•二分图判定
    hihocoder#1039 : 字符消除
    2048low版
  • 原文地址:https://www.cnblogs.com/infoo/p/6652914.html
Copyright © 2011-2022 走看看