主要說qt的以下幾種容器
1.qlist
2.qlinkedlist
3.map
和一些常用的容器方法的使用
qsort
qcopy
qfind
1.qlist泛型集合是最常用的一種容器
看一下它的常用 操作
新增刪除和兩個迭代器
qlistiterator和qmutablelistiterator#include
int main(int argc, char *argv)
//刪除
qdebug()<<"
刪除3"
; listint.removeat(3);
//查詢
foreach (int
item, listint)
qdebug()
<<"
iterator";
//迭代器
qlistiteratoriterator(listint);
while
(iterator.hasnext())
//返轉
iterator.toback();
while
(iterator.hasprevious())
qdebug()
<<"
可變迭代器qmutablelistiterator";
//可變的迭代器
qmutablelistiteratormutableiterator(listint);
mutableiterator.insert(
13);
mutableiterator.insert(
14);
mutableiterator.insert(
15);
while
(mutableiterator.hasnext())
}//查詢
foreach (int
item, listint)
return
a.exec();}
2.qlinkedlist
qlinkedlist和qlist差不多,不同的一點是它是用迭代器做的訪問項
也就是說qlistlist只以通過這樣訪問它的內容list[i]而qlinkedlist不可以只能用iterator
效能上它要高於qlist
#include
int main(int argc, char *argv)
//刪除第乙個2
link.removeone(2
);
//新增兩個3這兩種方式一樣
link.push_back(3);3
);
//刪除所有的3
link.removeall(3
); qdebug()
<<"
普通訪問foreach";
foreach (int
item, link)
qdebug()
<<"
迭代器qmutablelinkedlistiterator";
qmutablelinkedlistiterator
mutableiter(link);
while
(mutableiter.hasnext())
if(i==4
)
qdebug()
<}
qdebug()
<<"
迭代器qmutablelinkedlistiterator重新訪問";
mutableiter.tofront();
while
(mutableiter.hasnext())
//mutable
return
a.exec();}
a3map
map型別是乙個鍵值對 key/value組成 其它的和上邊的兩個集合沒什麼區別
#include
int main(int argc, char *argv)
return
a.exec();}
下邊說一下常用的集合操作方法
qsort
qcopy
qfind
#include
#include
int main(int argc, char *argv)
qdebug()
<<"
____________________________";
liststrs.clear();
liststrs
<<10
<<5
<<8
<<2
<<7
; qsort(liststrs.begin()+1,liststrs.end()-1
);
foreach (int
i, liststrs)
qdebug()
<<"
______________qcopy______________";
qvector
newvec(5
); qcopy(liststrs.begin(),liststrs.end(),newvec.begin());
foreach (int
i, newvec)
qdebug()
<<"
______________qfind______________";
liststrs.clear();
liststrs
<<2
<<5
<<8
<<2
<<7
; qlist
::const_iterator iterfin=qfind(liststrs,2
);
if(iterfin!=liststrs.end())
else
return
a.exec();}
Qt常用容器類
qt為我們提供了一系列基於模板的容器類,來儲存特定型別的項。這些容器類都是隱式共享的 被用作唯讀容器時,是執行緒安全的。與stl類似,也分為序列式容器和關聯式容器。序列式容器有 qvector qlist qlinklist qstack qqueue。對大部分程式來說qlist都是乙個很好的選擇,...
QT學習筆記(3) 容器視窗 Container
選項卡視窗qtabwidget 類似於瀏覽器的頂部的不同頁面 堆疊視窗qstackedwidget 類似於qt creator 工具 選項 右邊的那些視窗,點乙個左邊的標籤右邊也跟著變 工具視窗qtoolbox 類似於qt designer 的東西 選項卡視窗 選項卡上顯示的資訊更改 屬性 qtab...
QT學習 容器篇
qlabel pic new qlabel 建立標籤物件 qpixmap prc new qpixmap res plane1.png 指定資源檔案路徑 pic setpixmap prc ui scrollarea setwidget pic 傳遞標籤物件 pic setfixedwidth 10...