Qt初识(对象树,乱码问题,小结)

1.作用

类似于前端开发(网页开发),对象树(DOM),是一个树形结构(N叉树),通过树形结构把界面上的各种控件连接起来。故Qt中的对象树也是将界面中的各种控件连接起来。

主要目的:为了能够在窗口关闭或者销毁的时候,把这些对象同一释放。

2.乱码问题

出现原因:(有且只有一个:编码方式不匹配)

在计算机中,英文字符用ASCII,只表示英文,一个字符足够了,因为英文字母数目有限,但是当前中文字大约有6w个,表示汉字的字符集有很多种,不同的字符集,表示同一个汉字,使用的数字不同!

目前,表示汉字的字符集,主要是两种方式

  • GBK(中国大陆)使用两个字节表示一个汉字,(eg:Windows简体中文版,默认的字符集就是GBK)
  • UTF-8/utf8  变长编码,表示一个符号,使用的字节数是变化的,2~4之间,但在utf8中,表示一个汉字,大多是3个字节(eg:Linux)(当前主流

查看utf8的一个网站:http://www.mytju.com/classCode/tools/encode_utf8.asp

如果你字符串本身是utf8编码,但是终端控制台是按照gbk的方式来解析的,此时就会出现乱码,即拿着utf8的数值,去查询gbk的码表

文件是那种编码方式,那么文件中的内容就也是哪种编码方式==》如何去看文件的编码方式呢

使用记事本打开=》文件=》另存为=》下面会有该文件的编码方式(如果显示ANSI那么就是gbk编码;)

3.Qt中的乱码解决方式

Qt中QString是可以帮助我们自动的处理编码方式的

Qt中提供了一个qDebug()的工具,可以完成打印日志(不用cout)的过程,很好的处理编码问题

qDebug()<<"MyLabel 被销毁";
#include <QDebug>//QDebug是Qt中的类,又不会直接使用这个类
qDebug()这个宏封装了QDebug对象,可以直接当做cout来用
//而且用qDebug打印的调试日志,是可以进行统一关闭的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值