Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Модель/Представление _ QSortFilterProxyModel::lessThan глюк

Автор: explorer85 4.8.2011, 17:15

Вобщем при сортировке данных с помощью данной функции возникла следующая проблема:
у меня включена динамическая сортровка setDynamicSortFilter(true); и во при изменении данных в строке они автоматически сортируются, но если у нас есть список такого вида
номер строки данные в элементе по ктороым идет сортировка
0 1
1 2
2 2
3 2
4 3
5 4
6 5

то при сортировке строки номер 1,2,3 сортируются в произвольном порядке так как значения в них одинаковы, и при каждой пересортировке они меняются местами.
можно ли этого как нибудь избежать?

Автор: ilyabvt 4.8.2011, 21:01

Скорее всего это особенность алгоритма сортировки, значит нужно:
1) После пересортировки восстанавливать исходный порядок следования совпадающих элементов
или
2) Писать свой алгоритм сортировки (хотя правильнее будет сказать реализовать т.к. самих алгоритмов и так уже придумали выше крыши).
или
3) Я ошибаюсь и это можно сделать проще.

Автор: PAFOS 5.8.2011, 8:56

может еще потребоваться определить операторы сравнения для класса, который представляет этот тип данных.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)