まず、あなたの答えを前もって感謝したいと思います。1 つの QStandardItemModel に 1 つの QStandardItem を挿入し、このモデルをツリー ビュー (A) に表示します。この後、別のツリー ビュー (B) に関連付けられている新しい QStandardItemModel に同じ項目 (ポインター) を追加します。この 2 番目のケースでは、同じテキストの 1 つのアイテムではなく、1 つの空のアイテムのみが表示されます。アイテムのコピーを作成すると、期待どおりの結果が得られます。2 つの異なるモデルに同じアイテムを追加できないのはなぜですか?
この場合、modelA と modelB は同じデータを持っていますが、非常に異なる構造に従っているため、QSortFilterProxyModel を使用することは役に立ちません。
どうもありがとうございました。
これを行うことができない場合、どの解決策を提案しますか? ハッシュテーブルを使ってテーブルモデル間の対応を保っていますが、もっと簡単な解決策があると思います。
コード例を 1 つコピーします。
QStandardItem * item = generateExampleItem();
modelA->invisibleRootItem()->appendRow(item); // will be visible to the user
modelB->invisibleRootItem()->appendRow(item); // will be invisible to the user
ui.treeViewA->setModel(modelA);
ui.treeViewB->setModel(modelB);
ui.treeViewA->show();
ui.treeViewB->show();