QSortFilterProxyModel + QAbstractItemModel + QTreeView, После добавлении QSortFilterProxyModel перстает работать QTreeView |
Здравствуйте, гость ( Вход | Регистрация )
QSortFilterProxyModel + QAbstractItemModel + QTreeView, После добавлении QSortFilterProxyModel перстает работать QTreeView |
flankerr |
20.5.2015, 16:55
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Имеется дерево на QAbstractItemModel и QTreeView связка рабюотает отлично проблем нет.
Пытаюсь прикрутить QSortFilterProxyModel как есть без переобределений просто как прослйку чтобы все завелось как есть но не заваодится.
При попытке развернуть любой элемент дерева все "съезжает" перестает отображаться или отображается мягко говря не адекватно. Индексы которые приходят в ::data становятся не валидными. Аналогичный код но с табличной моделью работает на ура. QSortFilterProxyModel() + QAbstractItemModel + QTableView - все работает как часы. Вопрос что и как надо переопределить в QSortFilterProxyMode для работы с деревом ? |
|
|
lanz |
20.5.2015, 17:45
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Приложите минимальный проект, не помню чтобы там что то особенное было.
Сообщение отредактировал lanz - 20.5.2015, 17:46 |
|
|
flankerr |
20.5.2015, 18:34
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Приложите минимальный проект, не помню чтобы там что то особенное было. Если отбросить все лишнее то вот такая простая реализация модели .h Раскрывающийся текст
cpp Раскрывающийся текст
Ну и далее как я уже писал в начале
QSortFilterProxyModel вообще как прослойка используется пустая как есть. Может там чтото в обязаловку надо переопределить для дерева ? Но с таблицей работает и в "пустом" виде. Для фильтрации наследую перепределяю метод фильрации и все путем. А вот с деревом какая то беда... Qt4.8.3 |
|
|
lanz |
20.5.2015, 23:50
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
У меня все работает
Смотрите прикрепленный проект. Скорее всего ошибка здесь:
Нельзя хранить индексы, если очень нужно используйте: http://doc.qt.io/qt-4.8/qpersistentmodelindex.html Сообщение отредактировал lanz - 20.5.2015, 23:53
Прикрепленные файлы
|
|
|
Текстовая версия | Сейчас: 18.12.2024, 9:49 |