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

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

                                 

  • 相关阅读:
    PreparedStatementUpdateTest.java
    JDBCUtils.java
    StringTest.java
    创建线程的方式四:使用线程池
    用递归实现解决斐波那契数列。
    反射的用处。Class对象的介绍,怎么通过反射创建实例和调用方法。
    基于jenkins+docker+git 持续化自动部署项目(详细版一));
    git常用命令,linus的神作之一。
    电话号码的字母组合。(每天一道,防止痴呆)
    编写一个函数来查找字符串数组中的最长公共前缀。(每天一道防止痴呆)
  • 原文地址:https://www.cnblogs.com/infoo/p/6652914.html
Copyright © 2011-2022 走看看