Как обновить содержимое представления, после сортировки модели? |
Здравствуйте, гость ( Вход | Регистрация )
Как обновить содержимое представления, после сортировки модели? |
Errazm |
4.11.2009, 10:04
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 4.11.2009 Пользователь №: 1204 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ситуация такова: пытаюсь разобраться с технологией модель/представление на примере собственного небольшого файлового менеджера.
Начал реализовывать свою модель: class FastDirModel : public QAbstractTableModel. Добрался до сортировки. Из исходника QDirModel выдрал сортировку, чуть изменил ее (разбил на две функции) для удобства.
Теперь о проблеме: когда в представлении (class TreeDirView : public QTreeView) кликаю по секции заголовка, ничего не происходит. Случайно заметил, что если после клика изменить размер какой-нибудь колонки, то виджет тут же перерисовывается с последним результатом сортировки. Т.е. сортировка происходит, но не отображается. Итого: как мне обновить содержимое QTreeView после сортировки? Вот фрагмент конструктора
Пока что я пользуюсь таким трюком: автоматически изменяю размер каждой колонки и тут же делаю его прежним. (Если изменить размер одной колонки, то обновится информация только в ней):
Но мне кажеться, что это ересь ужасная. Должен же быть какой-то прямой путь! Подскажите, пожалуйста Блин, в первой же теме - и напартачил. Правильно вопрос будет звучать так: Как обровить содержимое представления, после сортировки модели? |
|
|
Авварон |
4.11.2009, 16:38
Сообщение
#2
|
Студент Группа: Участник Сообщений: 99 Регистрация: 26.4.2009 Пользователь №: 709 Спасибо сказали: 14 раз(а) Репутация: 0 |
там в QDirModel есть метод reset(QModelIndex) и он зовется после установки сортироки. Правда как он работает, я не понял) там что-то хитрое с сохранением/восстановлением индексов
|
|
|
Текстовая версия | Сейчас: 29.1.2025, 19:48 |