如何在QFileSystemModel中排除dirs?

时间:2012-07-12 14:37:58

标签: qt dir qfilesystemmodel

我使用此代码。

 QFileSystemModel* fsModel = new QFileSystemModel(this);
 fsModel->setFilter(QDir::NoDotAndDotDot | QDir::Dirs );

我无法理解如何排除某些文件夹。

2 个答案:

答案 0 :(得分:2)

从标准模型中进行子类化当然是可能的,但被认为是不好的风格。通过实现通用过滤器代理模型,您将获得一个不错的可重用组件。继承自QAbstractProxyModel并实现过滤器代理。

答案 1 :(得分:0)

创建过滤器模型并使用QFileSystemModel作为其来源。

对于您的过滤器,QSortFilterProxyModel包含您需要的大部分内容 - 您只需提供filterAcceptsRow的重新实现,以决定应该传递哪些文件。