11

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

4

2 回答 2

16

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

于 2013-02-07T17:10:44.913 回答
2

正如您在此处看到的,首选方法是在模型子类中使用围绕您的重置代码的beginResetModel()和函数。endResetModel()

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

一些 qabstractitemmodel 子类可能允许您使用model.removeRows(0,model.rowCount()) (其他则需要您自己实现)

于 2013-02-07T17:21:51.760 回答