Qt總結之十 QList QVector和QMap

2021-09-05 11:55:55 字數 523 閱讀 2658

qvector用法基本和qlist用法相同

區別:乙個是隨機訪問,乙個是連續訪問,所以list插入刪除很快,vector查詢很快。

但是vector有個地方一定要注意:

vector:如果你新增元素,但是vector的容量(是容量,不是大小,容量比大小大,會預先多分配空間)不夠的話,系統就會重新分配一段記憶體,然後把原先的內容全部拷貝過去,然後刪除原先的內容。所以,如果你設定了乙個紙箱vector的指標,或者說迭代器,在你新增元素之後,這個指標(迭代器)需要重新計算

qmap

示例:

qmapmap;

map["one"] = 1;//使用過載符往map列表插入乙個元素

key = "one",value = 1;

map.insert("twelve", 12);//往map列表插入乙個元素

//建立乙個關聯map的迭代器,遍歷map列表元素

qmapiteratori(map);

while (i.hasnext())

Qt之延時總結

void qsleeptimeset delay msec unsigned int msec while timer.msecsto nowtimer msec 其中的msec為需要延時的毫秒數,例如,你要實現5秒延時,則msec的值就是 5000 qt下使用sleep函式比較費勁,常用的幾個標頭...

QT之QTreeView使用總結

1 在ui介面中拖treeview控制項進ui介面。2 一般qt中使用model來管理資料與檢視的關係,使用delegate重寫point 處理ui效果。qt提供了一些現成的models用於處理資料項 qstringlistmodel 用於儲存簡單的qstring列表。qstandarditemmo...

QT之網路程式設計錯誤總結

一 qobject connect cannot queue arguments of type qabstractsocket socketerror make sure qabstractsocket socketerror is registered using qregistermetaty...