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