Я пытаюсь отсортировать элементы в определенном столбце QStandardItemModel
по алфавиту. Для этого я использую класс, производный от QSortFilterProxyModel
, и повторно реализую метод lessThan
как таковой.
bool MyProxy::lessThan(const QModelIndex &left, const QModelIndex &right) const
{
QVariant leftData = sourceModel()->data(left);
QVariant rightData = sourceModel()->data(right);
if( left.column() == 1)
{
return leftData.toString() < rightData.toString();
}
return false;
}
Вот как я прикрепляю модель к прокси-модели
MyStandardItemModel=new QStandardItemModel();
MyProxy= new MyProxy();
MyProxy->setSourceModel(pModelContacts);
ui.ContactView->setModel(MyProxy);
После добавления элементов в модель вот что я делаю для сортировки
MyProxy->sort(1);
Однако столбец не отображается отсортированным. Какие-либо предложения?