一.模型视图介绍
1.Model/View(模型/视图结构) 视图(View)是显示和编辑数据的界面组件,
模型(Model)是视图和原始数据之间的接口
2.视图组件有:QListView QTreeView QTableView,QColumnView,QHeaderView
模型组件有:QStringListModel,QStandardItemModel
3.Model/View结构
视图或视图组件(View):视图从数据模型获取每个数据项的模型索引,通过模型索引获取数据,然后为界面组件提供显示数据。
模型或模型数据与实际数据通信,并为视图组件提供数据。
代理(Delegate):可以让用户定制数据的界面显示和编辑方式。
模型,视图和代理之间使用信号和槽通信。
数据模型:所有基于项数据(Item data)的数据模型(Model)都是基于QAbstractItemModel类的)此类定义视图组件和代理存取数据的接口。
QSqlRelationTableMode:关系型数据表
QSqlTableModel:数据库的一个数据表
QSqlQueryModel:QSqlQueryModel封装了执行SELECT语句从数据库查询数据的功能,但是QSqlQueryModel只能作为只读数据源使用,不可以编辑数据
二.模型视图的优点
1.一个Model可以映射多个View,可以以不同的方式查看数据同一份数据
2.如果底层数据源的存储改变了,只需要处理Model
给一个例子显示文件夹目录:
m_fileModel = new QFileSystemModel(this);
m_fileModel->setRootPath(QDir::currentPath());
ui->treeView->setModel(m_fileModel);
QFileSystemModel *m_fileModel;//定义数据模型变量