我有一个继承自QAbstractItemModel
的类,我用它来表示树数据结构。作为我的设计的一部分,有些情况下,树的一部分中的用户交互将导致在模型的某些其他可能远离的部分中添加/移除行。我通过节点之间的直接通信来做到这一点。也就是说,在这种情况下,不会调用QABstractItemModel::insertRows()
和removeRows()
。这在使模型视图正确刷新方面产生了一些挑战,我怀疑QAbstractItemModel
类在设计时并没有考虑到这种类型的行为。这可能是一个糟糕的设计吗?我应该只通过QAbstractItemModel
的内置成员函数添加/删除节点吗?