QFileSystemModel без отображения файлов (только каталоги)

Как заставить QFileSystemModel отображать только каталоги?
Или это вообще невозможно?


person user336635    schedule 10.12.2011    source источник


Ответы (2)


У меня никогда не было возможности использовать 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);
person HostileFork says dont trust SE    schedule 10.12.2011

В одном рабочем проекте в моей руке используется другой подход (не QFileSystemModel) для отображения только каталогов:

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