I'm using a custom QSortFilterProxyModel
to implement custom filtering for QTableView
by overriding filterAcceptsRow()
. How can my application be notified when I change the filtering criteria and after filterAcceptsRow()
is applied on the whole table?
Basically, I want to get a list of the visible item after filtering is applied, currently I calculate this list by a custom function I've implemented in my model that iterates on the rows and get a list of visible rows. This is inefficient as two calls to this function will yield the same results if no filtering action occurred in between.
All models should emit layoutAboutToBeChanged()
and layoutChanged()
, before and after they are sorted, filtered, or changed in any other way that could affect the view.