如何重置qtreemodel?如何删除行函数应该是什么样子?

时间:2014-05-07 11:00:04

标签: c++ qt

全部,

我制作了自己的TreeModel,继承自QAbstractItemModel。 用户可以选择重新加载新数据,当他点击那里时应该更改模型,但是使用相同的数据,我的意思是应该更改数据的视图,所以我在当前模型上运行,保存数据,创建带有新数据视图的新模型并加载它。

我的问题是我使用代理模型在树中启用过滤和着色,当我按照上面解释的那样丢失着色选项时,它没有按预期着色(就像用户点击选项之前一样) )。

是否正确创建新模型,而不清理以前的模型? (并且也非常更新代理模型)。 如果是的话,为什么我会失去正确的着色行为?

如何重置以前的型号?删除行的功能应该如何?

任何人都可以给我写一个树模型删除行函数的代码吗?

非常感谢:))

1 个答案:

答案 0 :(得分:0)

完全重置非常简单:

void clear(){
    beginResetModel();
    //remove from internal list
    endResetModel();
}

您还可以在*ResetModel()来电

之间设置新模型