Qt模型视图结构遇见的小问题
在本文的最开始,我们来看两个帮助文档内容:
selectionMode : SelectionMode
This property holds which selection mode the view operates in
Access functions:
|
QAbstractItemView::SelectionMode |
selectionMode() const |
|
void |
setSelectionMode(QAbstractItemView::SelectionMode mode) |
这是我想说的第一个帮助文档,这个SelectionMode关键词定义了在该视图下的模式,有五种模式,大家可以调用链接,点击SelectionMode关键词来查看帮助文档里的枚举,这里我就不再介绍这五类模式。
主要的两个功能见表格所展示的,在下文程序示例主要运用第二个函数,来设置Qtreeview对象的属性,为多选方式。
下述是第二个帮助文档:
void QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)
Sets the current selection model to the given selectionModel.
这也是View对象的一种模式设定方式,不过这里设定的是将给定的已经设定完毕的选择模式,赋给此处未设定的变量,函数表示就是帮助文档第一句。
大家对比上述帮助文档,可以发现,无论是函数参数,还是函数实现功能都不相同,在我自己的编程学习中,这里将这两个函数弄混了,花费了好久,才找到错误,最后运行调试成功,大家要学会看帮助文档呀,各位加油呐,部分程序附在下面,给各位参考呐。
QDirModel model;//文件系统存储模型
QTreeView tree;//树状视图
QListView list;//列表视图
QTableView table;//表格视图
tree.setModel(&model);//给视图设置模型
list.setModel(&model);
table.setModel(&model);
tree.setSelectionMode(QAbstractItemView::MultiSelection);//设定View对象的属性
list.setSelectionModel(tree.selectionModel());//调用现有属性来设置该view对象的属性
table.setSelectionModel(tree.selectionModel());

浙公网安备 33010602011771号