Вы должны использовать 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);