Qt dataChanged信号较慢然后隐藏/显示视图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt dataChanged信号较慢然后隐藏/显示视图相关的知识,希望对你有一定的参考价值。
我实现了自己的QAbstractItemModel(对于TreeView)并覆盖了setData方法,它改变了许多孩子。
- 如果我在一个大视图上发出一个“dataChanged”信号,那么它很慢并且ui会冻结。
- 如果我取消注释信号,它真的很快,但我必须与ui交互(因为模型没有通知视图)。
- 如果我打破模型/视图概念,并在TreeView上调用hide然后show方法,它会很快并显示所有更改...
为什么隐藏/显示呼叫工作?
为什么datachanged信号这么慢?
firstIndex = idx.parent().child(firstChangedIndex.row(), 0)
self.dataChanged.emit(firstIndex, firstIndex)
firstChangedIndex =最高父级,即更改,但可能不是第2列
答案
我发现了我的错误......启用了Trolltech modelest ......感谢无效的QModelIndex提示...工作得很好
以上是关于Qt dataChanged信号较慢然后隐藏/显示视图的主要内容,如果未能解决你的问题,请参考以下文章
MapItemView 在 dataChanged 信号后未更新