Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: cdump от Октябрь 12, 2011, 10:57



Название: QTreeWidget - сортировка по нескольким колонкам
Отправлено: cdump от Октябрь 12, 2011, 10:57
Есть QTreeWidget, отображается как таблица. Сейчас сортировка сделана переопределением < у QTreeWidgetItem, но она работает только по одной колонке в один момент.
Что нужно: сортировка по двум колонкам, т.е. если пользователь сначала кликает на первую колонку, а потом на вторую - то "главная" сортировка идет по первой колонке, и если есть элементы с одинаковыми значениеями в первой колонке, то они сортируются по второй колонке.

Если использовать QTreeView и свою модель, то придется много всего менять - много где используются QTreeWidgetItem, поэтому хотелось бы оставить QTreeWidget. Возможно ли это?

Если нет - то как проще всего в моем случае сделать задуманное, в какую сторону смотреть (QTreeView мб)?


Название: Re: QTreeWidget - сортировка по нескольким колонкам
Отправлено: GreatSnake от Октябрь 12, 2011, 11:02
Ищи "сортировка", автор "Пантер".


Название: Re: QTreeWidget - сортировка по нескольким колонкам
Отправлено: cdump от Октябрь 12, 2011, 11:08
Ищи "сортировка", автор "Пантер".

Эту тему (http://www.prog.org.ru/topic_17005_0.html) я читал, но вопрос про то, возможно ли оставить QTreeWidget и соответственно QTreeWidgetItem'ы - они во многих местах используются и переписывать не очень бы сейчас хотелось.


Название: Re: QTreeWidget - сортировка по нескольким колонкам
Отправлено: andrew.k от Октябрь 23, 2011, 22:52
Чем раньше перейдешь на модель тем лучше. Не важно сколько у тебя там всего сейчас сделано.
Потом ты компенсируешь затраченное на это время. Т.к. приложение будет развиваться и меняться.
Модель - удобнее и это более гибкий подход.
Чем дольше ждешь, тем больше переделывать потом.