概念
- 在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)基本的用戶接口特性菩佑,例如菜單、拖拽欣舵。一個(gè)view可以提供默認(rèn)的編輯能力擎鸠,或者他可以與delegate一起生成一個(gè)定制的編輯器缀磕。
- Views通過(guò)selections持續(xù)追蹤用戶的選擇缘圈,這個(gè)selection可以分開(kāi)為每個(gè)view使用或者多個(gè)views共享
- 一些views劣光,例如QTableView、QTreeView自帶header糟把。這些view中裝載了QHeaderView绢涡,這個(gè)類使用QAbstractItemModel::headerData()獲取數(shù)據(jù)。
<u>使用現(xiàn)有的Views</u>
- QListView
- QTreeView
- QTableView
使用model
注意:這里使用QAbstractItemModel遣疯,允許我們對(duì)這個(gè)模型使用抽象接口雄可,便于我們以后使用別的model替換StringListModel
<u>項(xiàng)選擇處理</u>
基本不需要使用