遍历 QTreeView + QFileSystemModel 上具有所需文件扩展名的所有项目

Posted

技术标签:

【中文标题】遍历 QTreeView + QFileSystemModel 上具有所需文件扩展名的所有项目【英文标题】:Loop through all items with desired file extension on QTreeView + QFileSystemModel 【发布时间】:2019-03-10 21:30:12 【问题描述】:

我是 Qt 和 C++ 的新手,所以我想这是一个非常基本的问题,但我在任何地方都找不到!

我使用 QTreeView 和 QFileSystemModel 来显示文件夹的内容。当我需要遍历所有选定的项目时,我只需使用:

foreach (QModelIndex index, treeView->selectionModel()->selectedRows()) 

    //...

我的问题是:

是否有类似的方法来遍历具有所需文件扩展名的所有项目(例如,*.aaa 文件)?如果不能完全像这样,请告诉我怎么做!

编辑:为了清楚起见,我想遍历所有具有给定扩展名的文件,而不仅仅是选定的文件

提前致谢!

【问题讨论】:

你为什么不能只使用QDirIterator 我可以。正如我所说,我是新手,所以我不知道这个选项。非常感谢! 【参考方案1】:

使用 rowCount、columnCount 和 hasChildren,应该能够运行 QAbstractItemModel 的所有元素。 对你有帮助吗?

【讨论】:

以上是关于遍历 QTreeView + QFileSystemModel 上具有所需文件扩展名的所有项目的主要内容,如果未能解决你的问题,请参考以下文章

C# treeview 获得选中值

右键单击 QTreeView 内的 QHeaderView

如何向qtreeview 自定义model 添加新行

QTreeView & QAbstractItemModel & insertRow

QTreeView - 排序和过滤模型

自定义 QTreeView 项目