モデル オブジェクトが外部で変更されたときのQTreeView (または QAbstractItemView のサブクラス)の更新に関する簡単な質問があります。リストにQAbstractItemModelのサブクラスが表示されていて、そのモデルの項目がリスト ウィンドウの外で変更され、その変更でリストを更新したいとします。このようなことを達成するための通常の戦略は何ですか? QAbstractItemModelの Qt ドキュメントを見てきましたが、モデルからのデータが変更されたときに発行される (または発行されるべき) ' dataChanged 'という名前の信号があります。しかし、このシグナルは (すべての QAbstractItemModel 関数/シグナル/スロットと同様に) QModelIndexで動作するため、ドキュメントが明確に述べているように永続的ではありません。データのQPersistentModelIndex(es)へのマッピングを何らかの方法で保存することになっているので、データが変更されたときに、対応するQPersistenModelIndexを見つけて、それをさまざまな引数として使用できますQAbstractItemModel関数? それはQPersistentModelIndex (es) が使用されるものですか? または、何か不足していますか?
ありがとうございました。
ps: QTreeViewをリロードするだけでよいと思いますが、どの項目が展開されたか、またはどの項目が選択されたかはわかりません。この問題を克服し、リストをリロードするだけの戦略はありますか?