Плохие новости, я боюсь: вам придется реализовать это самостоятельно, если вы хотите такого поведения.Считыватели файловой системы просто не настроены на подобные вещи.
Для этого тоже есть причина.Скрытие файлов обычно поддерживается, потому что это быстро и просто - либо имя файла соответствует вашему регулярному выражению, либо нет.Спрятать каталоги (или сделать их недоступными - та же разница) намного сложнее.Вы не можете просто посмотреть на имя каталога;Вы должны сканировать файловую систему, ища открываемые файлы.И доступ к жесткому диску медленный .Представьте, что ваш пользователь просматривает каталог, расположенный очень близко к корню вашей файловой системы - вам нужно пролистать все .И затем, если фильтр изменился, вам придется сделать все это снова.
Также учтите: установленный шаблон для этого - только скрывать файлы и никогда не скрывать каталоги.Это, вероятно, является результатом технических трудностей, описанных выше, но это стало стандартным поведением пользовательского интерфейса.Поэтому, если пользователь сталкивается с программой просмотра файловой системы, которая не показывает все ожидаемые им папки (или если он не может открыть определенные папки, на первый взгляд наугад), он может предположить, что что-то сломано.
Тем не менее, если в любом случае есть веская причина, вы можете переопределить QFileSystemModel, чтобы делать то, что вы хотите (или, в противном случае, вы можете заставить подкласс AbstractModel вести себя так, как вы описали).Ваши пользователи будут акклиматизироваться, особенно если есть веская причина для нового поведения.
Удачи!