通知QAbstractItemModel的子类有关更改

时间:2009-12-08 18:54:06

标签: qt

我有一个关于通知模型对其存储引用的其他对象所做的更改的问题。

我知道信号dataChanged(),但我不知道如何使用它。例如,我的模型存储对其他对象的引用(让我们称之为myObjPtr)。只有在模型上调用方法rowCount(),columnCount(),data()和其他方法时,模型才会查询myObjPtr的内容。

然后,如果我对myObjPtr的内容进行了一些更改,我应该如何通知模型,以便它可以使用适当的参数发出dataChanged()信号?我应该使用模型的setData()方法吗?如果我在实例中删除或替换myObjPtr中的某些元素,我应该将哪些参数传递给它?

谢谢。

1 个答案:

答案 0 :(得分:3)

如果我理解你要问的是什么,那么最简单的方法是让myObjPtr在更改时发出一个信号,然后在模型中发出dataChanged()信号。请记住,dataChanged()信号特定于哪些数据发生了变化。如果无法达到这种精确度,您也可以在模型中调用reset(),这会导致所有信息都被更新。