Пользовательский метод сортировки QTableView? - PullRequest
1 голос
/ 23 марта 2012

Как я могу настроить пользовательский метод сортировки для QTableView или для модели? (Какую функцию я должен повторно реализовать)

Алгоритм сортировки по умолчанию для строк, я хочу метод сортировки чисел для определенного столбца.

Спасибо.

1 Ответ

4 голосов
/ 23 марта 2012

Вы должны использовать QSortFilterProxyModel .Вы должны переопределить метод lessThan.Затем вы должны установить sourceModel для вашей прокси-модели и установить вашу прокси-модель в качестве модели для вашего представления

class MyProxyModel: public QSortFilterProxyModel
{
protected:
     bool   lessThan ( const QModelIndex & left, const QModelIndex & right ) const
     {
         // your sorting rules
     }
};

// ... somewhere where your view is accessible
MyProxyModel * m = new MyProxyModel();
m->setSourceModel(yourModel);
yourView->setModel(m);
...