So I have this Qt application with a QTreeView
with a custom model (derived from QAbstractItemModel
) and a custom model proxy for filtering (derived from QSortFilterProxyModel
). More or less straightforward (somewhat similar to the and works fine) and works fine in terms of functionality.
The view shows a two-column tree with key-value pairs. The keys are updated very rarely but the values are updated frequently (a lot of entries with several updates every second each). In the proxy model I overload filterAcceptsRow
to define visibility based on the key column. But every value change emits a dataChanged
signal causing the view to call the proxy (filterAcceptsRow
) again and that call is somewhat expensive (evaluate a regex on the element and its children). There is some room for optimization in filterAcceptsRow
by caching all the calculations but it would be preferred to limit the calls to that function. Can it somehow be limited what columns trigger the calls to the proxy?
You have any advise for me?
Aucun commentaire:
Enregistrer un commentaire