я сделал так:
2)в проксимодели добавляем какой-нибудь _secondarySortColumn (делаем его по умолчанию -1)
1)перегружаем lessThan
2)в lessеhan после
C++ (Qt)
QVariant l = (left.model() ? left.model()->data(left, sortRole()) : QVariant());
QVariant r = (right.model() ? right.model()->data(right, sortRole()) : QVariant());
добавляем
C++ (Qt)
if (l == r && _secondarySortColumn != -1)
{
QModelIndex left2 = sourceModel()->index(left.row(),_secondarySortColumn,left.parent());
QModelIndex right2 = sourceModel()->index(right.row(),_secondarySortColumn,right.parent());
return lessThan(left2,right2);
}
теперь, если задать _secondarySortColumn !=-1 будет сортировать с учётом вторичного столбца, если не задать, то как обычная сортировка