QT Datachanged信号较慢,然后隐藏/显示视图



我实现了自己的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的提示...工作非常好

最新更新