如何在Qt中重置模型?

时间:2013-02-07 16:58:34

标签: qt model-view

我正在使用Qt模型/视图框架。当我重置模型中的数据时,我必须重置模型以使视图也更新。怎么做?我在QAbstractItemModel中找到了一个信号modelReset(QPrivateSignal);,这是解决它的方法吗?如何发出信号?感谢。

2 个答案:

答案 0 :(得分:12)

您在重置数据之前调用beginResetModel(),然后在完成后调用endResetModel()endResetModel()会发出私信号。

答案 1 :(得分:2)

正如您所见here,首选方法是在模型子类中使用重置代码周围的beginResetModel()endResetModel()函数。

这应该适当地处理发射信号。

某些qabstractitemmodel子类可能允许您使用model.removeRows(0,model.rowCount())(其他人会要求您自己实现它)