InterView框架提供了一些可以直接使用的模型类和视图类,如
QStandardItemModel
类、QDirModel
类、QStringListModel
类,以及QColumnView类
、QHeaderView类
、QListView
类、QTableView
类和QTreeView
类等。
一、效果展示
二、具体代码
注意:
(a):QDirModel model;
新建一个QDirModel对象,为数据访问做准备。QDirModel的创建还可以设置过滤器,即只有符合条件的文件或目录才可被访问。
(b):tree.setModel(&model);
调用setModel()
函数设置View对象的Model为QDirModel对象的model。
©:tree.setSelectionMode(QAbstractItemView::MultiSelection);
设置QTreeView对象的选择方式为多选。
QAbstractItemView提供五种选择模式,即QAbstractItemView::SingleSelection
、QAbstractItemView::NoSelection
、QAbstractItemView::ContiguousSelection
、QAbstractItemView::ExtendedSelection
和QAbstractItemView::MultiSelection
。
(d):list.setSelectionModel(tree.selectionModel());
设置QListView对象与QTreeView对象使用相同的模型
(e):table.setSelectionModel(tree.selectionModel());
设置QTableView对象与QTreeView对象使用相同的模型
(f):为了实现双击QTreeView对象中的某个目录时,QListView对象和QTableView对象中显示此选定目录下的所有文件和目录,需要连接QTreeView对象的doubleClicked()
信号与QListView对象和QTableView对象的setRootIndex()
槽函数。