我的QT5學習之路(三)――模板庫、工具類和控件(中)
一、前言
前面我們了解了關于Qt字符串的一些簡單操作,容器類的分類和各自的主要特點以及用途,這一次我們了解一些常見的工具類和常見的控件。
二、QByteArry和QVariant
2.1 QByteArry
關于QByteArry,我們在上篇中曾經看到過。QByteArry和QString的功能和API基本類似,具有很多相似的函數。不同的地方在于QByteArry能夠存儲原生的二進制數據和8位編碼的文本數據,那么何為原生的二進制數據和8為編碼的文本數據呢?稍微了解計算機原理的童鞋可能都知道,計算機內部所有的數據都是以0和1的形式進行存儲的,這種存儲形式就是二進制。對于這些二進制代碼,計算機并不知道其具體的含義,需要通過上下文進行決定。對于文件而言,即使是一個文本文件,讀出時也可以按照二進制的形式讀出,這就是二進制格式。如果把這些二進制中的0和1按照編碼解釋成一個個的字符,就可以構成一個文本了。因此,QByteArry實際上朐生的二進制,也可以看作是文本,具有文本的一些操作。但是對于文本字符流的操作,還是建議使用QString而不是QByteArry,因為QString支持Unicode。
出于方便,QByteArry自動的保證最后一個字節(jié)之后的那位的值是“看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();