Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Caduceus от Апрель 09, 2012, 12:31



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


Название: Re: 2 вопроса по QTreeView
Отправлено: interv от Апрель 09, 2012, 12:50
1. Дык создай поток с низким приоритетом, и сканируй папки...


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

Зачем? О_О. Есть же QFileSystemWatcher специально для этого.


Название: Re: 2 вопроса по QTreeView
Отправлено: interv от Апрель 09, 2012, 12:54
ммм... не знал, спс буду терь его юзать


Название: Re: 2 вопроса по QTreeView
Отправлено: Bepec от Апрель 09, 2012, 12:58
QFileSystemWatcher немного... слабоват. Насколько я помню, он мониторит только изменение структуры.

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

Изменение же размера, допустим, им не учитывается(ну или я такой-сякой, не нашёл такой функции)...


Название: Re: 2 вопроса по QTreeView
Отправлено: sudo от Апрель 09, 2012, 14:13
Да там функций то раз, два и всё. А вот сигналы интересны, да и их всего два: directoryChanged и fileChanged, и, по утверждению троллей, они таки отправляются на каждый чих, будь то удаление, переименование или изменение


Название: Re: 2 вопроса по QTreeView
Отправлено: Caduceus от Апрель 09, 2012, 14:16
Вообще-то вопрос был по дереву.
Как ловить изменения  я знаю - уже ипользю модифицрованный QFileSystemWatcher
Там действительно не ловиятся изменения файла, но чтоб ловились - надо в стандарных исходниках пару строчек поменять


Название: Re: 2 вопроса по QTreeView
Отправлено: Bepec от Апрель 09, 2012, 14:27
Угу. А ещё он не ловит скрытых изменений ;) Аля "незаметно подсунуть файл такого же размера и убежать" :)


Название: Re: 2 вопроса по QTreeView
Отправлено: V1KT0P от Апрель 09, 2012, 15:08
Вообще-то вопрос был по дереву.
Как ловить изменения  я знаю - уже ипользю модифицрованный QFileSystemWatcher
Там действительно не ловиятся изменения файла, но чтоб ловились - надо в стандарных исходниках пару строчек поменять
Ну дык QTreeView это всего-лишь вид, он отображает то что находится в модели. Соответственно модель сама должна следить за изменением. Если в той модели что ты используешь нету такого функционала, то наследуйся и добавляй.