QSortFilterProxyModel::invalidate() is required to let the new random order take effect.
QSortFilterProxyModel::invalidate()