1、模型、视图中各类继承关系
2、视图QtreeView/QlistView/QTableView 和模型Model的关系?
为确保“数据的表示”与“数据获取”相分离,Qt引入了模型索引的概念,输入和委托均可通过模型索引来请求数据并显示。
模型:获取数据;
只有模型需要知道怎样获取数据。
视图组件和代理都通过“模型索引”来获取数据;
视图:表示/显示数据;
代理/委托:就是在视图组件上为编辑数据提供“编辑器”。如在表格组件中编辑一个单元格的数据时,缺省是使用一个 QLineEdit编辑框。代理负责从数据模型获取相应的数据,然后显示在编辑器里,修改数据后,又将其保存到数据模型中。
3、常用的现成的模型/视图部件:QTableWidget表格、QListWidget列表、QTreeWidget树;
如何快速建立概念?要知道各类的 各函数/属性“来自哪里”,以建立印象
3.1 QTableWidget 函数/属性 来自5个方向:
1.自身QTableWidget的函数;
2.QTableWidgetItem的函数;
3.父类QTableView类的函数;
4.父类的父类QAbstractItemView类中的函数;
5.基类Qwidget类的函数;//如:setMouseTracking设置鼠标跟踪
3.2 QListWidget 函数/属性 来自5个方向:
1.自身QListWidget 的函数;
2.QListWidgetItem 的函数;
3.父类QListView类的函数;
4.父类的父类QAbstractItemView类中的函数;
5.基类Qwidget类的函数;//如:setMouseTracking设置鼠标跟踪
3.3 QTreeWidget 函数/属性 来自5个方向:
1.自身QTreeWidget 的函数;
2.QTreeWidgetItem 的函数;
3.父类QTreeView类的函数;
4.父类的父类QAbstractItemView类中的函数;
5.基类Qwidget类的函数;//如:setMouseTracking设置鼠标跟踪