I have a treeview in which I have applied sorting/filtering using QSortFilterProxyModel
.
When I perform some action on tree item(ex. RMB action), I refresh my data model(QAbstractItemModel)
.
I am using beginresetmodel()
before refreshing my data model. After data model's refreshed, selection on selected item disappears. I have saved the selections before refreshing data model, and applied them back after the model is refreshed, but the items do not get selected.
I tried removing beginResetModel()
before refreshing data model, and selection works fine in that case.
QSortFilterProxyModel documentation says:
However,
beginResetModel()
/endResetModel()
returns the proxy model to its original state, losing selection information, and will cause the proxy model to be repopulated."
How can I retain selection while keeping beginResetModel()
/ endResetModel()
when refreshing data model?