ある要素が別の要素を参照できるツリーを構築したいと考えています。私が構築したいツリーは次のようなものです:
A
|--- B
|--- C
| |--- D
| |--- E
|
|--- F
|--- P //this is a "pointer" to C
|--- D //first child of C
|--- E //second child of C
私の質問に関してこれとこれを見つけましたが、そこには解決策が見つかりませんでした。
問題は、 my に parent() を実装することQAbstractItemModel
です。要素をコピーすることはできません。大規模なサブツリーになる可能性があります (また、要素が変更されたときにそれらを同期させたい)。
アイテムはモデル内に複数の親を持つことができます (実際の親と、現在それを指しているアイテム)。現在正しい親を特定するにはどうすればよいですか? 現在、 にItem*
格納されているだけですが、が現在QModelIndex
ある場合、インデックスが要素の下または下のどちらを意味するのかわかりません。Item*
D
D
C
P
Qt アイテム モデルで、この 1 対 n の親子マッピングを回避する何らかの方法があることを願っています。これを行う何らかの方法があることを願っています。それ以外の場合は、回避したい独自のウィジェットを実装する必要があります。