【问题标题】:Hide a folder from a QFileSystemModel从 QFileSystemModel 隐藏文件夹
【发布时间】:2014-02-24 08:42:34
【问题描述】:

我想知道如何使用QFileSystemModel 隐藏树视图中的特定文件夹。

我知道我们可以使用setFilter 过滤文件夹以仅显示某些文件,但我不知道如何过滤文件夹。

我想显示一个文件夹以外的文件夹。我知道这个文件夹的名称,所以我可以按名称选择它。

请问有人知道如何从列表中隐藏/删除此文件夹吗?

【问题讨论】:

  • 你试过QFileSystemModel::setNameFilters()吗?
  • 是的,我已经使用 QFileSystemModel::setNameFilters() 将文件按扩展名过滤到文件夹中。所以当我应用过滤器时,我只会看到带有我想要的扩展名的文件。就我而言,我不想看到名为“foldername”的文件夹。

标签: c++ qt directory qfilesystemmodel


【解决方案1】:

过滤器可以使用通配符,但这些通配符是可选的。您可以随意使用过滤器来过滤掉非通配符名称。

QStringList filters;
filters << "*.badext" << "foldername";
model->setNameFilters(filters);

如果您想对其进行更严格的控制 - 例如,仅过滤掉具有给定名称的文件夹,而不是具有给定名称的文件,那么您需要实现 QSortFilterProxyModel。

【讨论】:

  • 抱歉回复晚了。是的,我想过滤掉具有给定名称的文件夹。那么你能给我一些线索来用QSortFilterProxyModel 实现这个吗?我检查了这门课,但没有找到我要找的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 2018-04-05
  • 2015-07-04
相关资源
最近更新 更多