0
2つのQTreeViewを扱うコードを用意しています。ここでは、アイテムが左側のツリービューから右側のツリービューに追加されます。ここでは、コードの一部です:QTreeViewまたはモデルのフィルタリングオプションを無効にする方法
MasterModel *model = new MasterModel;
leftProxyFilterModel *leftModel = new leftProxyFilterModel;
rightSelectedRowsFiletrModel *rightModel = new rightSelectedRowsFilterModel;
QTreeView *leftTreeView;
QTreeView *rightTreeView;
leftModel->setSourceModel(model);
rightModel->setSourceModel(leftModel);
leftTreeView->setModel(leftModel);
rightTreeView->setModel(rightModel);
現在、いくつかの文字列をフィルタリングするためには、このように設定されています。
leftModel->setFilterWildcard(LineEdit->text());
この行は私がしたいことのオプションをすべきフィルタリングされ、両方のツリービューの内容をフィルタリングしています左ツリービューにのみ適用できます。 これを達成するために誰かが私を助けることができますか?
私はそれを行うことができないため、 rightModelはモデルではなくleftModelからのデータを期待しているので、ソースモデルが設定されている既存の方法でそれを達成する方法はありません –
私は理解できません。あなたのコードでは、 'leftModel'は独自のデータを持っていません。 'model'から全てをコピーします。さらに、 'rightModel'は' leftModel'からすべてをコピーします。 'model'を更新すると、' leftModel'(と 'rightModel')も自動的に更新されます。 2つの異なる 'QTreeView'をどのように使いたいかについてもっと詳しく説明できますか? – JKSH
最初の部分は正しいと思っていますが、 'leftModel'は 'model'からeveythingをコピーしますが、 'rightModel'はleftModel全体ではなく 'leftModel'から選択した項目だけをコピーします。 –