2
我有一個關於通知模型的一些其他對象存儲引用的問題。通知QAbstractItemModel的子類有關更改
我知道信號dataChanged(),但我不知道如何使用它。例如,我的模型存儲對其他對象的引用(我們稱之爲myObjPtr)。只有在模型上調用rowCount(),columnCount(),data()等方法時,模型纔會查詢myObjPtr的內容。
然後,如果我對myObjPtr的內容進行了一些更改,應該如何通知模型以便它可以發出具有適當參數的dataChanged()信號?我應該使用模型的setData()方法嗎?如果我爲了實例刪除或替換了myObjPtr中的某些元素,我應該傳遞哪些參數?
謝謝。
感謝您對reset()方法的提示。 你能否詳細解釋dataChanged()的情況?當我刪除/添加/替換myObjPtr中的元素時(myObjPtr實際上具有樹形結構),我在原始帖子中詢問應將哪些參數傳遞給dataChanged()。我應該爲調用'emit dataChanged(topLeft,bottomRight);'中使用的元素構造QModelIndex的新實例嗎? –
如果myObjPtr可以提供有關已更改內容的足夠信息,請使用dataChanged信號。是的,您應該創建QModelIndex的新實例來執行此操作。確保使用模型的方法創建它們,或者正確設置索引的父級,以便Qt確切知道哪些模型項目已更改。 –