我有一个关于通知模型对其存储引用的其他对象所做的更改的问题。
我知道信号dataChanged(),但我不知道如何使用它。例如,我的模型存储对其他对象的引用(让我们称之为myObjPtr)。只有在模型上调用方法rowCount(),columnCount(),data()和其他方法时,模型才会查询myObjPtr的内容。
然后,如果我对myObjPtr的内容进行了一些更改,我应该如何通知模型,以便它可以使用适当的参数发出dataChanged()信号?我应该使用模型的setData()方法吗?如果我在实例中删除或替换myObjPtr中的某些元素,我应该将哪些参数传递给它?
谢谢。
答案 0 :(得分:3)
如果我理解你要问的是什么,那么最简单的方法是让myObjPtr
在更改时发出一个信号,然后在模型中发出dataChanged()
信号。请记住,dataChanged()
信号特定于哪些数据发生了变化。如果无法达到这种精确度,您也可以在模型中调用reset()
,这会导致所有信息都被更新。