QT5入門之24 QT 容器

2021-07-06 06:18:44 字數 792 閱讀 5103

和標準stl一樣,qt也有很多容器。

qt 提供了順序儲存容器:qlist,qlinkedlist,qvector,qstack 和 qqueue。對於絕大多數應用程式,qlist 是最好的選擇。雖然它是基於陣列實現的列表,但它提供了快速的向前新增和向後追加的操作。如果你需要鍊錶,可以使用 qlinkedlist。如果你希望所有元素占用連續位址空間,可以選擇 qvector。qstack 和 qqueue 則是 lifo 和 fifo 的。

qt 還提供了關聯容器:qmap,qmultimap,qhash,qmultihash 和 qset。帶有「multi」字樣的容器支援在乙個鍵上面關聯多個值。「hash」容器提供了基於雜湊函式的更快的查詢,而非 hash 容器則是基於二分搜尋的有序集合。

qvector:用於在記憶體的連續區儲存一系列給定型別的值。在頭部或中間插入資料可能會非常慢,因為這會引起大量資料在記憶體中的移動。

容器的遍歷:

qlistlist;

list

<< "a" << "b" << "c" << "d";

qlist::iterator i;

for (i = list.begin(); i != list.end(); ++i)

qlinkedlistlist;

...qstring str;

foreach (str, list)

qlist較為常用。

QT5入門之23 QT串列埠程式設計

qt5有專門的串列埠類 qserialport 提供訪問串列埠的功能 qserialportinfo 提供系統中存在的串列埠的資訊 具體使用方法 1.在pro檔案中加入 qt serialport 2.mainwindow.h中新增標頭檔案及成員 include include public qse...

QT5入門之19 QT呼叫外部程式

很簡單,用qprocess即可。include void mainwindow on pushbutton 5 clicked process.execute calc 開啟計算器 process.execute regedit 開啟登錄檔 process.execute notepad 開啟記事本...

Qt5發生的變化 Qt5程式設計入門筆記

2 qt5移除了qt opengl模組,將opengl相關的類移動到了qt gui模組中,意味著opengl成為了每個應用程式的必選項。3 qt5吧全部的qt介面遷移到qt平台抽象層 qt platform abstraciton qpa 智商,使得qt能更容易地移植到另外的系統和裝置上。4 qt5...