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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: 2 вопроса по QTreeView  (Прочитано 4531 раз)
Caduceus
Гость
« : Апрель 09, 2012, 12:31 »

Выславляю дереву модель QDirModel. Содержимое папки меняется постоянно. Поэтому два вопроса
1) как обновить View при смене содержимого папки (изменяются и количество элементов и иконки)
2) Как прикуртить к каждому айтему дерева некий виджет? (без деоегатов можо как-нить?)
Записан
interv
Гость
« Ответ #1 : Апрель 09, 2012, 12:50 »

1. Дык создай поток с низким приоритетом, и сканируй папки...
Записан
V1KT0P
Гость
« Ответ #2 : Апрель 09, 2012, 12:53 »

1. Дык создай поток с низким приоритетом, и сканируй папки...

Зачем? О_О. Есть же QFileSystemWatcher специально для этого.
Записан
interv
Гость
« Ответ #3 : Апрель 09, 2012, 12:54 »

ммм... не знал, спс буду терь его юзать
Записан
Bepec
Гость
« Ответ #4 : Апрель 09, 2012, 12:58 »

QFileSystemWatcher немного... слабоват. Насколько я помню, он мониторит только изменение структуры.

Удалена папка/добавлена папка/удалён файл/добавлен файл/изменение имени.

Изменение же размера, допустим, им не учитывается(ну или я такой-сякой, не нашёл такой функции)...
Записан
sudo
Гость
« Ответ #5 : Апрель 09, 2012, 14:13 »

Да там функций то раз, два и всё. А вот сигналы интересны, да и их всего два: directoryChanged и fileChanged, и, по утверждению троллей, они таки отправляются на каждый чих, будь то удаление, переименование или изменение
Записан
Caduceus
Гость
« Ответ #6 : Апрель 09, 2012, 14:16 »

Вообще-то вопрос был по дереву.
Как ловить изменения  я знаю - уже ипользю модифицрованный QFileSystemWatcher
Там действительно не ловиятся изменения файла, но чтоб ловились - надо в стандарных исходниках пару строчек поменять
Записан
Bepec
Гость
« Ответ #7 : Апрель 09, 2012, 14:27 »

Угу. А ещё он не ловит скрытых изменений Подмигивающий Аля "незаметно подсунуть файл такого же размера и убежать" Улыбающийся
Записан
V1KT0P
Гость
« Ответ #8 : Апрель 09, 2012, 15:08 »

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


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