Можно использовать void QHeaderView::setSortIndicator(int logicalIndex, Qt::SortOrder order).
Ещё и третий объект добавляется, отлично
)) Но он, как я понимаю, только индикацию включает, саму сортировку не меняет? Т.е. использовать его надо в паре с QSortFilterProxyModel::sort()?
Сохранять настройки можно по [signal] void QHeaderView::sortIndicatorChanged(int logicalIndex, Qt::SortOrder order).
А вот это ценное замечание. Я планировал сохранять настройки в обработчике closeEvent, извлекая информацию из QSortFilterProxyModel::sortColumn() и sortOrder(), но раз есть такой сигнал - логичнее использовать его, да.