我实现了自己的qabstractitemmodel(for treeview)并覆盖setData方法,该方法改变了许多孩子。
- 如果我在大视图上发射一个" datachenged"信号,它非常慢,UI冻结了。
- 如果我输入信号,它确实很快,但是我必须与UI进行交互(因为模型没有通知视图)。
- 如果我打破了模型/视图概念,然后调用皮肤,然后在树视图上显示方法,它很快并且显示了所有更改...
为什么隐藏/显示呼叫工作?
为什么datachanged信号这么慢?
firstIndex = idx.parent().child(firstChangedIndex.row(), 0)
self.dataChanged.emit(firstIndex, firstIndex)
firstChangedIndex =最高父,这会改变,但也许不是第2列
我发现自己的错误...启用了Trolltech ModelEst ...感谢您对无效的QmodelIndex的提示...工作非常好