Details
-
Bug
-
Resolution: Done
-
P2: Important
-
4.5.3, 4.6.0, 4.6.1, 4.6.2
-
None
-
f98d645e7b260fa5098360a5cc4fbb381a30004a
Description
The performance of changing data on a large, deep hierarchy is also quite bad in QTreeView. To show this behavior, run the test application, expand all indexes, and then click the "Toggle Long Names" button. This emits dataChanged for all ranges of sibling indexes within the model, but since there is usually just a single child, this really means emitting very close to N signals where N is the number of items in the tree. This operation takes about 8.5 seconds. Reset is not a valid option because it discards selection and would force us to restore the expanded state, something which has already been noted as infeasible due to performance.
Also worth noting, this only requires a single signal emission in the flat list cases and is also nearly instantaneous.