QFileSystemModel不显示文件(只是目录)

QFileSystemModel without displaying files (just directories)

本文关键字:显示文件 QFileSystemModel      更新时间:2023-10-16

如何设置QFileSystemModel仅显示目录?
还是说这根本不可能?

我从来没有机会自己使用QFileSystemModel,但是看看文档…你试过setFilter()吗?

http://doc.qt.io/qt-5/qfilesystemmodel.html setFilter

http://doc.qt.io/qt-5/qdir.html Filter-enum

文档指出,默认的过滤器是QDir::AllEntries | QDir::NoDotAndDotDot | QDir::AllDirs。扩展为:QDir::Dirs | QDir::Files | QDir::Drives | QDir::NoDotAndDot | QDir::AllDirs,并表示需要AllDirs。

所以可能只是:

model->setFilter(QDir::Dirs|QDir::Drives|QDir::NoDotAndDotDot|QDir::AllDirs);

在我手中的一个工作项目中,采用另一种方法(不是QFileSystemModel)仅显示目录:

QFileDialog::Options options = QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly;
options |= QFileDialog::DontUseNativeDialog;
QString directory = QFileDialog::getExistingDirectory(this,
    tr("Select the data path"),
    "",
    options);