Russian Qt Forum
Ноябрь 24, 2024, 01:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Есть ли обновление содержимого у QFileSystemModel?  (Прочитано 6636 раз)
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« : Июнь 22, 2017, 09:59 »

Здравствуйте, господа форумчаны.  Столкнулся на днях с одной небольшой проблемой.

Я пишу окно для копирования файлов с флешки на жесткий диск, а также удаление файлов с диска.
Для отображения дерева каталогов использую QFileSystemModel. Создаю его в конструкторе своего окна:

Код:
model = new QFileSystemModel();
model->setHeaderData(0, Qt::Horizontal, tr("Имя"), Qt::DisplayRole);
model->setHeaderData(1, Qt::Horizontal, tr("Размер"), Qt::DisplayRole);
model->setHeaderData(2, Qt::Horizontal, tr("Тип"), Qt::DisplayRole);
model->setHeaderData(3, Qt::Horizontal, tr("Дата изменения"), Qt::DisplayRole);

Далее при каждом подсоединении флешки, подгружаю данную модель в QTreeView.
Также указываю какой каталог будет корневым.

Код:
treeView->setModel(model); 
treeView->setRootIndex(model->setRootPath(root_usb));

При извлечении флешки, делаю следующее:
Код:
treeView->setModel(NULL); 

Заметил одну вещь. Если открыть мое окно, вставить флешку - то отображается дерево каталогов флешки.
Далее, если не закрывая окно, извлечь флешку - то дерево как и задумано уже не отображается.
Но если же потом снова вставить уже другую флешку - то отображается дерево каталогов предыдущей
флешки, а не вставленной на данный момент.

Понимаю что нужно как-то обновить содержимое каталога флешки в QFileSystemModel.
Но как это сделать пока не нашел.

Может, кто знает как?

Каждый раз создавать экземпляр QFileSystemModel при подсоединении флешки, и удалять его при ее
извлечении не хотелось бы. Пока что у меня вот только так и получается избавится от данной проблемы.
« Последнее редактирование: Июнь 23, 2017, 08:47 от billy4685 » Записан
billy4685
Крякер
****
Offline Offline

Сообщений: 306


Просмотр профиля
« Ответ #1 : Июнь 22, 2017, 10:52 »

Хотя, если я удаляю и создаю файлы на флешке через проводник, то в своем созданном окне эти изменения видны.
Но если я к примеру вставил флешку в свой комп, в своем созданном окне вижу список каталогов.
Потом извлекаю эту флешку, вставляю в другой комп, удаляю на ней файл. То при повторном подсоединении
ее в первый компьютер, в моем созданном окне еще отображается удаленный мной файл на этой флешке.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 22.