QFileSystemModel没有显示文件(只是目录)

时间:2011-12-10 13:48:04

标签: c++ qt qfilesystemmodel

如何设置QFileSystemModel才能显示目录?
或者这根本不可能?

2 个答案:

答案 0 :(得分:6)

我自己从来没有机会使用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);

答案 1 :(得分:0)

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

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