我的QT5學(xué)習(xí)之路(三)――模板庫、工具類和控件(中)
一、前言
前面我們了解了關(guān)于Qt字符串的一些簡單操作,容器類的分類和各自的主要特點(diǎn)以及用途,這一次我們了解一些常見的工具類和常見的控件。
二、QByteArry和QVariant
2.1 QByteArry
關(guān)于QByteArry,我們在上篇中曾經(jīng)看到過。QByteArry和QString的功能和API基本類似,具有很多相似的函數(shù)。不同的地方在于QByteArry能夠存儲原生的二進(jìn)制數(shù)據(jù)和8位編碼的文本數(shù)據(jù),那么何為原生的二進(jìn)制數(shù)據(jù)和8為編碼的文本數(shù)據(jù)呢?稍微了解計算機(jī)原理的童鞋可能都知道,計算機(jī)內(nèi)部所有的數(shù)據(jù)都是以0和1的形式進(jìn)行存儲的,這種存儲形式就是二進(jìn)制。對于這些二進(jìn)制代碼,計算機(jī)并不知道其具體的含義,需要通過上下文進(jìn)行決定。對于文件而言,即使是一個文本文件,讀出時也可以按照二進(jìn)制的形式讀出,這就是二進(jìn)制格式。如果把這些二進(jìn)制中的0和1按照編碼解釋成一個個的字符,就可以構(gòu)成一個文本了。因此,QByteArry實際上朐生的二進(jìn)制,也可以看作是文本,具有文本的一些操作。但是對于文本字符流的操作,還是建議使用QString而不是QByteArry,因為QString支持Unicode。
出于方便,QByteArry自動的保證最后一個字節(jié)之后的那位的值是“