1

我使用此代码。

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

我不明白如何排除某些文件夹。

4

2 回答 2

2

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

于 2012-07-12T22:42:51.697 回答
1

创建一个过滤器模型并将您的QFileSystemModel用作其来源。

对于您的过滤器,QSortFilterProxyModel拥有您需要的大部分内容 - 您只需提供重新实现filterAcceptsRow即可决定应通过哪些文件。

于 2015-09-10T12:07:35.783 回答