2014-01-31 2 views
1

Я хотел бы знать, как скрыть определенную папку в treeView с помощью QFileSystemModel.Скрыть папку из QFileSystemModel

Я знаю, что мы можем фильтровать папки, чтобы показывать только некоторые файлы, используя setFilter, но я не знаю, как фильтровать папку.

Я хочу отображать папки, кроме одного. Я знаю название этой папки, поэтому я могу выбрать ее по имени.

Кто-нибудь знает, как скрыть/удалить эту папку из списка, пожалуйста?

+1

Вы попробовали 'QFileSystemModel :: setNameFilters()'? – vahancho

+0

Да, я уже использую QFileSystemModel :: setNameFilters() для фильтрации файлов по расширению в папку. Поэтому, когда я применяю фильтр, я вижу только файлы с расширением, которое я хочу. В моем случае я не хочу видеть папку с именем «имя папки». – Jeanstackamort

ответ

2

Фильтры могут использовать подстановочные знаки, но эти подстановочные знаки являются необязательными. Вы можете использовать фильтры для фильтрации имени без подстановочных знаков.

QStringList filters; 
filters << "*.badext" << "foldername"; 
model->setNameFilters(filters); 

Если вы хотите более жесткий контроль над ним - например, только отфильтровать папку с заданным именем, а не файл с указанным именем, то вам необходимо реализовать QSortFilterProxyModel.

+0

Извините за поздний ответ. Да, я хочу отфильтровать папку с заданным именем. Так вы могли бы дать мне подсказки, чтобы реализовать это с помощью 'QSortFilterProxyModel', пожалуйста? Я проверил этот класс, и я не нашел то, что искал. – Jeanstackamort

Смежные вопросы