Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: сортировка чисел в QStandardItemModel
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
Dovgon
Нужно отсортировать числовую колонку в таблице в которой занесены числа.
ViGOur
QTreeView *pTree = new QTreeView;
MyItemModel *pModel= new MyItemModel(this);
pTree->setModel(pModel);

pModel->sort( 0, Qt::AscendingOrder );
Dovgon
Цитата(ViGOur @ 23.7.2012, 10:51) *
QTreeView *pTree = new QTreeView;
MyItemModel *pModel= new MyItemModel(this);
pTree->setModel(pModel);

pModel->sort( 0, Qt::AscendingOrder );

:), а сам пробовал что получится, 1, 10,11 ... а мне надо 1, 2, 3 ...
ViGOur
Вот так и нужно было говорить! :)
У тебя есть два варианта решения этой проблемы:
1. Переопределить sort
2. Использовать QSortFilterProxyModel, в котором переопределить: bool lessThan(const QModelIndex &left, const QModelIndex &right) const;

и там уже переводить в строку в число
Алексей1153
видимо, там используется лексикографическая сортировака . Если ничего радикально не менять, то проще всего занести числа в виде выравненных строк (00001, 00002,...... 00199)

если же незначащие нули нельзя показывать, то эту колонку можно сделать дополнительной и скрытой
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.