Определите, когда QTreeView с QFileSystemModel полностью загружен - PullRequest
0 голосов
/ 03 ноября 2019

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

Все еще есть небольшая задержка, так как полный каталог загружается и отображается. Мы хотели бы переключиться на занятый курсор, как только вся загрузка / расширение завершится, но мы не можем найти какой-либо сигнал или другой признак того, что это произошло.

Мы также не можем найти способ простозагрузить все дерево, кроме как с помощью expandAll ().

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...