crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QFileSystemModel и полное сканирование папок
dmsovetov
  опции профиля:
сообщение 15.12.2015, 21:37
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 4.12.2015
Пользователь №: 4495

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день.
Хотелось бы узнать, как можно заставить QFileSystemModel просканировать все папки начиная от корневого индекса модели.
Я пробовал дергать fetchMore, когда получаю сигнал directoryLoaded, но после этого там что-то ломается - перемещение файла просто валится на асерте внутри модели.

Вот так я пробовал сканировать:
void AssetsModel::directoryLoaded( const QString& path )
{
    QModelIndex idx = index( path );

    for( s32 i = 0, n = rowCount( idx ); i < n; i++ ) {
        QModelIndex child = index( i, 0, idx );

        if( canFetchMore( child ) ) {
            fetchMode( child );
        }
    }
}


P.S. да, знаю что там специально сделано, чтоб грузилось по требованию, но у меня специфическая задача :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
dmsovetov
  опции профиля:
сообщение 16.12.2015, 12:13
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 4.12.2015
Пользователь №: 4495

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Алексей1153 @ 16.12.2015, 8:10) *
думаю, правильнее так - а вдруг количество строк поменяется ?
...
ну и полезно проверить

Попробовал. Не помогло :unsure:

Цитата(Алексей1153 @ 16.12.2015, 8:10) *
Ещё мне кажется, что нужен будет рекурсивный скан вглубь всего дерева. А сейчас только по первому уровню пробегаешь

Сигнал directoryLoaded будет вызываться для всех папок, которые я подгрузил через fetchMore.
Оно все грузит как надо, проблема в том, что drag'n'drop потом валится вот на таком асерте :(


PS прикрепляю минимальный проект к посту.
Прикрепленные файлы
Прикрепленный файл  FileSystemModel2.zip ( 1.84 килобайт ) Кол-во скачиваний: 235
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 17.2.2025, 1:25