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