如何仅通过更改列来表示QAbstractItemModel :: dataChanged?

时间:2017-11-03 15:04:32

标签: c++ performance qt model-view

在更新QAbstractItemModel的派生类的模型数据之后,我不希望侦听器(假设QTreeView)完全更新所有树表示,而只是更新大多数行的单个列。

  

示例:我只想更新项目的第二列,所以我认为我必须emit dataChanged(createIndex(0,1,&root), createIndex(rowCount(),1,&root);

但是,由于某种原因,这仍然会更新完整的树 - 这是预期的行为吗?它是否与底层模型组织有关(它与Qt's own simple tree example非常相似)?还是有其他原因我没有考虑过?

0 个答案:

没有答案