One option could be to wrap the QItemSelectionModel into a QAbstractListModel. This way the model would operate on the selected indexes only (whereas the proxy operates on the whole source model).