我正在使用Qt模型/视图框架。当我重置模型中的数据时,我必须重置模型以使视图也更新。怎么做?我在QAbstractItemModel中找到了一个信号modelReset(QPrivateSignal);
,这是解决它的方法吗?如何发出信号?感谢。
答案 0 :(得分:12)
您在重置数据之前调用beginResetModel()
,然后在完成后调用endResetModel()
。 endResetModel()
会发出私信号。
答案 1 :(得分:2)
正如您所见here,首选方法是在模型子类中使用重置代码周围的beginResetModel()
和endResetModel()
函数。
这应该适当地处理发射信号。
某些qabstractitemmodel子类可能允许您使用model.removeRows(0,model.rowCount())
(其他人会要求您自己实现它)