QFileSystemModel без отображения файлов (только каталоги) - PullRequest
0 голосов
/ 10 декабря 2011

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

Ответы [ 2 ]

6 голосов
/ 10 декабря 2011

У меня никогда не было возможности использовать 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);
0 голосов
/ 10 декабря 2011

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

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