Для наших целей мы хотим немедленно загрузить QTreeView, используя QFileSystemModel. Мы понимаем, что это может занять некоторое время, но наши каталоги наихудшего случая достаточно малы (несколько сотен файлов). Мы можем вызвать QTreeView :: expandAll () для сигнала QFileSystem :: directoryLoaded, и это работает нормально;Конечно, функция вызывается несколько раз, но это нормально.
Все еще есть небольшая задержка, так как полный каталог загружается и отображается. Мы хотели бы переключиться на занятый курсор, как только вся загрузка / расширение завершится, но мы не можем найти какой-либо сигнал или другой признак того, что это произошло.
Мы также не можем найти способ простозагрузить все дерево, кроме как с помощью expandAll ().
Мы понимаем обоснование такого асинхронного поведения;Попытка открыть '/' свяжет вещи на вечность. Но наш случай гораздо более ограничен, и нам нужен доступ ко всей информации о файлах, чтобы пользователь не развернул дерево целиком. expandAll () делает это для нас, но нам нужен индикатор того, когда он завершил итерацию по дереву.