![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
DEADHUNT |
![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
QTreeWidget заполнен элементами, затем включаем сортировку и сортируем по некоторой колонке:
затем требуется восстановить исходный порядок и выключить сортировку:
как проще(правильнее) восстановить исходный порядок, при добавление элементов сохранять порядок, а в конце вызывать повторную сортировку, например так:
? |
|
|
Sokoloff |
![]()
Сообщение
#2
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: ![]() ![]() ![]() |
QTreeWidget заполнен элементами, затем включаем сортировку и сортируем по некоторой колонке:
затем требуется восстановить исходный порядок и выключить сортировку:
как проще(правильнее) восстановить исходный порядок, при добавление элементов сохранять порядок, а в конце вызывать повторную сортировку, например так:
? А данные для него откуда берутся? Первоначальный порядок от чего зависит? Скорее всего придется в данные добавить еще одно скрытое поле, и вначале в нем сохранять номер строки, а в конце сортировать по этому скрытому полю. |
|
|
DEADHUNT |
![]()
Сообщение
#3
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
первоначальный порядок зависит от порядка добавления элементов в QTreeWidget. в QTreeWidget все элементы имеют переопределённый operator<, а то что ты мне предлагаешь это плохой подход который был у меня раньше.
Сообщение отредактировал DEADHUNT - 5.9.2010, 13:03 |
|
|
igor_bogomolov |
![]()
Сообщение
#4
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Может отказаться от QTreeWidget в пользу QTreeView + Собственная модель + QSortFilterProxyModel
P.S. В своём проекте я поступил ещё более прямолинейно. У меня в модели два контейнера. Один всегда содержит оригинальные данные. Второй тот, который подвергается сортировкам и фильтрации. Он же и отображается. Если нужно восстановить исходный порядок, я просто копирую данные из первого контейнера во второй. |
|
|
DEADHUNT |
![]()
Сообщение
#5
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
смысл писать свою модель если все ровно выйдёт что-то типа QTreeWidget, вот так сделал:
когда нужно получить default order:
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 29.11.2023, 21:44 |