全部,
我制作了自己的TreeModel,继承自QAbstractItemModel。 用户可以选择重新加载新数据,当他点击那里时应该更改模型,但是使用相同的数据,我的意思是应该更改数据的视图,所以我在当前模型上运行,保存数据,创建带有新数据视图的新模型并加载它。
我的问题是我使用代理模型在树中启用过滤和着色,当我按照上面解释的那样丢失着色选项时,它没有按预期着色(就像用户点击选项之前一样) )。
是否正确创建新模型,而不清理以前的模型? (并且也非常更新代理模型)。 如果是的话,为什么我会失去正确的着色行为?
如何重置以前的型号?删除行的功能应该如何?
任何人都可以给我写一个树模型删除行函数的代码吗?
非常感谢:))
答案 0 :(得分:0)
完全重置非常简单:
void clear(){
beginResetModel();
//remove from internal list
endResetModel();
}
您还可以在*ResetModel()
来电