Проблема использования QSortFilterProxyModel вместе с кастомной иерархической моделью |
Здравствуйте, гость ( Вход | Регистрация )
Проблема использования QSortFilterProxyModel вместе с кастомной иерархической моделью |
tp4 |
24.11.2011, 19:08
Сообщение
#1
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здравствуйте, господа!
Имеется кастомная иерархическая модель, унаследованная от QAbstractModelItem. Написана своя прокси модель. Наследовался от QSortFilterProxyModel'и (переопределил методы: data, setData, headerData, mapToSource, mapFromSource, hasChildren, rowCount). Помимо функциональности QSortFilterProxyModel она также умеет выкидывает некоторые столбцы, а также меняет местами оставшиеся. Все работает, если нулевой столбец из исходной модели соответствует нулевому столбцу в прокси-модели. Если же прокси-модель перемещает этот столбец, то отображение некорректно: Стрелочки (или крестики) рисуются правильно - напротив тех элементов, у которых есть потомки. Но при попытке раскрыть такой элемент оказывается, что внутри нет элементов. Вот некоторые методы прокси-модели:
Причем MySortFilterProxyModel::rowCount возвращает правильное количество столбцов. Но также замечен вызов метода rowCount исходной модели, минуя вызов MySortFilterProxyModel::rowCount. Это происходит при вызове QSortFilterProxyModel::index(). Может быть проблема связана с этим? Буду рад вашей помощи. Спасибо. |
|
|
tp4 |
5.12.2011, 17:53
Сообщение
#2
|
Студент Группа: Участник Сообщений: 32 Регистрация: 1.10.2009 Пользователь №: 1128 Спасибо сказали: 1 раз(а) Репутация: 0 |
Попробую задать вопрос более обшего характера в рамках этого треда.
Как правильно написать свою прокси-модель, которая будет удалять и менять местами столбцы из иерархической модели, унаследованной от QAbstractItemModel? |
|
|
Текстовая версия | Сейчас: 30.11.2024, 13:58 |