概念
- 在model/view構(gòu)架中,view從model中獲取數(shù)據(jù)并顯示給用戶。數(shù)據(jù)表現(xiàn)的方式不需要和model提供的數(shù)據(jù)表現(xiàn)形式相同,并且可能與內(nèi)部的數(shù)據(jù)結(jié)構(gòu)完全不同。
- 標(biāo)準(zhǔn)模型接口使用QAbstractItemModel,標(biāo)準(zhǔn)視圖接口使用QAbstractItemView,他們自己都使用delegates控制渲染、編輯屬性。
- views實(shí)現(xiàn)基本的用戶接口特性,例如菜單、拖拽。一個view可以提供默認(rèn)的編輯能力,或者他可以與delegate一起生成一個定制的編輯器。
- Views通過selections持續(xù)追蹤用戶的選擇,這個selection可以分開為每個view使用或者多個views共享
- 一些views,例如QTableView、QTreeView自帶header。這些view中裝載了QHeaderView,這個類使用QAbstractItemModel::headerData()獲取數(shù)據(jù)。
<u>使用現(xiàn)有的Views</u>
- QListView
- QTreeView
- QTableView

1.jpg
使用model

1.jpg

2.jpg
注意:這里使用QAbstractItemModel,允許我們對這個模型使用抽象接口,便于我們以后使用別的model替換StringListModel
<u>項(xiàng)選擇處理</u>
基本不需要使用