Russian Qt Forum
Ноябрь 01, 2024, 06:42
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку (Прочитано 5836 раз)
spleenjack
Гость
QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку
«
:
Ноябрь 01, 2008, 14:11 »
Создаю на форме TreeView и привязываю его к FileSystemModel.
В этом случае все хорошо: можно ходить по папкам.
Если включить возможность сортировки в treeView, то моделька будет сама сортировать данные, но! Во-первых, она это делает не всегда: т.е. нажал на колонку в хидере - и ничего не происходит, нажал второй раз - опять ничего, нажал третий - отсортировалось. Во-вторых, сортировка происходит просто в лексикографическом порядке по имени, т.е. стандартная последовательность "сначала папки - потом файлы" не создается (хотя, судя по исходнику - должно). В-третьих, даже когда сортировка происходит - это делается очень медленно. Видимо, из-за перестройки индексов (этот момент я еще не очень понимаю). Ну, и в-четвертых, сортировка делается в модельке, поэтому, если у меня будет еще и listView - в нем порядок тоже изменится.
Кстати, тут такой момент - сортировка public методом sort() моделькой поддерживается, но в документации это не отражено. Об этом нужно сообщать троллям?
Естественно, приходит решение использовать SortFilterProxyModel. Но здесь появляется вот какая проблема.
У папок исчезает крестик с помощью которого можно открыть список его дочерних элементов. По двойному клику раскрытие тоже не происходит.
Из-за чего такое может быть?
PS: С QDirModel такого глюка нет.
Записан
spleenjack
Гость
Re: QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку
«
Ответ #1 :
Ноябрь 06, 2008, 18:23 »
Хотя бы направление укажите
Записан
spirit
Гость
Re: QTreeView + QFileSystemModel + QSortFilterProxyModel - невозможно раскрыть папку
«
Ответ #2 :
Ноябрь 06, 2008, 18:52 »
метод sort находится в QAbstractItemModel. так что троллям писать ничего не надо, все уже описано
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...