QListView和QListWidget的區別

2021-09-06 20:09:41 字數 902 閱讀 9653

qlistview是基於model,而qlistwidget是基於item。這是它們的本質區別。

往qlistview中新增條目需借助qabstractlistmodel:

如: mainwindow::mainwindow(qwidget *parent) :

qmainwindow(parent),

ui(new ui::mainwindow)

而在qlistwidget中新增條目可以直接additem

如: qlistwidget list;

list.setviewmode(qlistwidget::iconmode );

list.setresizemode(qlistwidget::adjust);

list.setmovement(qlistwidget::static);

for(int i =0; i < 100 ; i ++)

我們可以通過訊號和槽的方式對列表控制項的選項進行響應,例如

connect(list, signal(currenttextchanged(qstring)), this, slot(settext(qstring)));

總之,qlistwidget是繼承qlistview,qlistview是基於model的,需要自己來建模(例如建立qstringlistmodel、qsqltablemodel等),

儲存資料,這樣就大大降低了資料冗餘,提高了程式的效率,但是需要我們對資料建模有一定了解,初學者就先不要考慮了,

而qlistwidget是乙個公升級版本的qlistview,它已經自己為我們建立了乙個資料儲存模型(qlistwidgetitem),操作方便,直接呼叫additem即可新增專案(icon,文字)。

QList和QStringList的用法

h ifndef mylistview h define mylistview h include class qlistview class qstandarditemmodel class mylistview public qwidget endif mylistview h cpp incl...

QListView控制項使用

1 說明 這個控制項常與qlistwidget進行比較,都經常用於資料的展示 row column 2 只用到了行的操作,用於展示路徑或其他條目 大致過程是 構建qstringlist 物件 構建qstringlistmodel物件,將qstringlist物件作為引數 使用setmodel qst...

qlist的遍歷 List遍歷和查詢

首先宣告本文不是討論linq,在framwork2.0中也不支援linq操作的,主要是記錄一下list集合的使用方法。list 一般主要用到的查詢遍歷方法 find 搜尋指定謂詞所定義條件相匹配的元素,並返回整個list中的第乙個匹配元素。findlast 搜尋指定謂詞所定義條件相匹配的元素,並返回...