Название: 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 Вообще-то вопрос был по дереву. Ну дык QTreeView это всего-лишь вид, он отображает то что находится в модели. Соответственно модель сама должна следить за изменением. Если в той модели что ты используешь нету такого функционала, то наследуйся и добавляй.Как ловить изменения я знаю - уже ипользю модифицрованный QFileSystemWatcher Там действительно не ловиятся изменения файла, но чтоб ловились - надо в стандарных исходниках пару строчек поменять |