1、简介
这个示例,展示了如何编辑项目、自定义标题以及插入和删除行和列的功能。
项视图模型的标准用法是继承QAbstractItemModel,然后重载纯虚函数:flags()、data()、 headerData()、columnCount()、 rowCount()、 index() 、parent().等;
对于可编辑项目的实现需要重载接口:setData()、setHeaderData();
对于可修改项目,如插入、删除等,还需重载接口: insertRows()、insertColumns()、removeRows()、removeColumns().
2、自定义模型示例
内部项目之间的关系
在设计用于自定义模型的数据结构时,每个项定义为TreeItem,实现TreeItem::parent()和TreeItem::child()可以保存它和父级、子级的联系,通过这两个函数可以遍历树结构。
每个TreeItem表示一行数据,这一行数据存储在它私有成员QVector<QVariant >itemData中;
获取该行第n列的数据:QVariant data(int column);
设置改行第n列的数据:bool setData(int column, const QVariant &val