Russian Qt Forum
Сентябрь 29, 2024, 14:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSortFilterProxyModel и комбобокс  (Прочитано 3865 раз)
Barmaglodd
Гость
« : Октябрь 02, 2009, 08:57 »

Есть модель, в ней первая колонка - даты.
Вешаю на неё QSortFilterProxyModel, чтобы отсортировать по убыванию даты, передаю QSortFilterProxyModel комбобоксу.
Проблема в том, что первый раз в комбобоксе список не отсортирован, но когда содержимое исходной модели меняется, сортировка появляется.

Код:
    QSortFilterProxyModel dsm;
    dsm.setDynamicSortFilter(true);
    dsm.setSourceModel(&datesModel);
    dsm.sort(0, Qt::DescendingOrder);
Записан
Akon
Гость
« Ответ #1 : Декабрь 31, 2012, 08:01 »

прокси модель перед использованием (в комбо) нужно отсортировать (sort()).
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Январь 04, 2013, 13:28 »

Можно задействовать
Код
C++ (Qt)
void QStandardItemModel::setSortRole ( int role )
:
Код
C++ (Qt)
qobject_cast< QStandardItemModel* >( combobox->model() )->setSortRole( Qt::UserRole );
Дату добавляй через
Код
C++ (Qt)
void QComboBox::setItemData ( int index, const QVariant & value, int role = Qt::UserRole )
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.147 секунд. Запросов: 22.