Название: Обновить QTreeWidget Отправлено: Al.Der от Сентябрь 18, 2013, 19:13 Есть QTreeWidget, к нему привязана модель QFileSystemModel => в дереве отображается файловая система.
При создании/ удалении файла в текущем каталоге, я думаю, посылается какой-то сигнал, что нужно обновить наш виджет и/или модель. Так вот какой может это быть сигнал или что-то другое? По сути мне нужно обновить список файловой системы. Можно это сделать вручную? Что-то типа qtreewidget->refresh() ??? Просто после манипуляций в программе в QTreeWidget данные то не изменяются, то изменяются через рандомное количество секунд, а если смотреть через виндовский експлорер на папку - то все норм, а там - нет.. Название: Re: Обновить QTreeWidget Отправлено: kambala от Сентябрь 19, 2013, 00:13 обычно QFileSystemModel привязывают к QTreeView.
файл создается/удаляется у тебя в программе или извне? Название: Re: Обновить QTreeWidget Отправлено: Al.Der от Сентябрь 19, 2013, 08:55 Нет, в данной программе.
так TreeWidget же наследник TreeView Идея такова, что в каждой папочке на ПК может быть спец. файл с параметрами. если они есть - файл создается, нет - удаляется. И есть глобальный файл с параметрами(соотв. лежит в одной конкретной папке). Так вот, в 1м случае при созд./ удалении файла деревцо обновляется сразу, а вот если я обновляю глобальный файл => на всем ПК должны быть применены изменения. так вот в виндовском експлорере все сразу работает, а в проге - нет Название: Re: Обновить QTreeWidget Отправлено: GreatSnake от Сентябрь 19, 2013, 09:57 так TreeWidget же наследник TreeView Использовать QTreeWidget со своей моделью как минимум не оптимально, т.к. QTreeWidget в конструкторе создаёт свою модель, на которую вешает кучу слотов. И всё это будет дропаться и по-новой вешаться при установке на него другой модели.И какой тогда великий смысл в этом случае использовать QTreeWidget ??? Название: Re: Обновить QTreeWidget Отправлено: Al.Der от Сентябрь 20, 2013, 00:39 Ну, особой нужды действительно нету...
Но все же как обновить модель ? Название: Re: Обновить QTreeWidget Отправлено: Bepec от Сентябрь 20, 2013, 06:56 Кривые пути решения:
1) резетнуть View. Тогда оно само перезапросит данные, но вернётся на начальное положение. 2) отнаследоваться от Model и сделать публичный метод обновления данных. 3) отнаследоваться и сделать модель с автообновлением данных в N секунд. Прямой: Чётко определить что не так работает. Directory View показывает всё нормально? Если да - то проблема где то в вашей программе. Вырезайте куски кода и ищите, ищите, ищите. Directory View тоже тормозит? Открываем исходники модели и ищем на что они завязаны и почему не происходит обновление. |