我用 aQAbstractItemModel
来表示一个树模型(最多几个猎物)。数据本身是动态的,任何时候节点都可能出现或消失,值(或其他角色)可能会发生变化。
更改模型很容易;我想知道如何有效地发出信号以通知 QTreeView 的变化(它的大部分节点都折叠了)。
在任何给定时间,多个更改可能同时发生(行插入和/或删除)。
- 使用///
beginInsertRows
-endInsertRows
不应该有一个方法来通知视图多次更改吗beginRemoveRows
?endRemoveRows
- 就性能而言,最佳策略是什么?例如,从叶子开始直到每个节点的根 / 从下到上(相对于从上到下)/在插入之前删除 / 等等。
- 会
beginResetModel
/endResetModel
必然会降低效率吗? - 使用有什么好处
QStandardItemModel
吗?(对于这种特定情况)。