Название: QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку Отправлено: spleenjack от Ноябрь 01, 2008, 14:11 Создаю на форме TreeView и привязываю его к FileSystemModel.
В этом случае все хорошо: можно ходить по папкам. Если включить возможность сортировки в treeView, то моделька будет сама сортировать данные, но! Во-первых, она это делает не всегда: т.е. нажал на колонку в хидере - и ничего не происходит, нажал второй раз - опять ничего, нажал третий - отсортировалось. Во-вторых, сортировка происходит просто в лексикографическом порядке по имени, т.е. стандартная последовательность "сначала папки - потом файлы" не создается (хотя, судя по исходнику - должно). В-третьих, даже когда сортировка происходит - это делается очень медленно. Видимо, из-за перестройки индексов (этот момент я еще не очень понимаю). Ну, и в-четвертых, сортировка делается в модельке, поэтому, если у меня будет еще и listView - в нем порядок тоже изменится. Кстати, тут такой момент - сортировка public методом sort() моделькой поддерживается, но в документации это не отражено. Об этом нужно сообщать троллям? Естественно, приходит решение использовать SortFilterProxyModel. Но здесь появляется вот какая проблема. У папок исчезает крестик с помощью которого можно открыть список его дочерних элементов. По двойному клику раскрытие тоже не происходит. Из-за чего такое может быть? PS: С QDirModel такого глюка нет. Название: Re: QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку Отправлено: spleenjack от Ноябрь 06, 2008, 18:23 Хотя бы направление укажите :)
Название: Re: QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку Отправлено: spirit от Ноябрь 06, 2008, 18:52 метод sort находится в QAbstractItemModel. так что троллям писать ничего не надо, все уже описано :)
|