【问题标题】:Qt: QFileSystemModel Filter Out Directories (not files) by expressionQt:QFileSystemModel 按表达式过滤掉目录(不是文件)
【发布时间】:2014-11-14 01:24:23
【问题描述】:

如何过滤掉文件夹?我寻找 QDir::Filters here: 但我看不到如何按表达式过滤。我想隐藏以“A00*”开头的文件夹

我尝试使用 nameFilters,但文件夹只是变灰:

QStringList filters;
filters <<"Cloth";
dirModel->setNameFilters(filters);

【问题讨论】:

  • 如果你尝试设置dirModel-&gt;setNameFilterDisables(false);会怎样?
  • 你能写下这个作为答案吗?我怎样才能反转表达式?
  • 为什么不创建 ProxyModel 的子类并创建自己的过滤器以不显示所需的目录
  • @SebastianLange 我必须仔细研究一下,现在我只需要一个解决方案,我已经研究过 ProxyModel。

标签: c++ qt qfile


【解决方案1】:

有一个 QFileSystemModel 的属性定义了项目(文件、目录)应该如何可视化,如果它们没有通过名称过滤器。它是nameFilterDisables。默认情况下,此属性为 true,即禁用未通过名称过滤器的项目。对于您的情况,您必须禁用此属性才能隐藏未过滤的项目:

dirModel->setNameFilterDisables(false);

【讨论】:

  • 你能写出如何反转过滤器吗?
  • @user1767754,你是什么意思?
  • 过滤器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多