1. 概念性的东西
在model结构中,数据模型为视图组件和代理提供存取数据的标准接口,在Qt中在所有的数据模型类都从QAbstractItemModel继承而来,不管底层的数据结构是如何组织数据的,QAbstractItemModel的子类都以表格的层次结构表示数据,视图组件通过这种规则来存取模型中的数据,但是表现给用户的形式不一样。
常用的表现形式3种为list Model ,Table model , Tree Model, 不管数据模型的表现形式怎么样,数据模型中储存数据的基本单元都是项(item),每一个项有一个行号,一个列号,还有一个父项(parent item)。
2.模型索引–QModelIndex
数据模型的基本形式是用行和列定义的表格数据,要获得一个模型索引必须提供3个参数:行号 列号和父项的模型索引。例如:
ABC都是顶级节点时
QModleindex indexA = model->index(0,0,QModelIndex());
QModleindex indexB= model->index(1,1,QModelIndex());
QModleindex indexC = model->index(2,1,QModelIndex());
又例如:
节点B的父节点是节点A,节点B的模型索引如下
QModle