0

QGraphicsItem が子に関してどのように動作するかを理解するために何時間も試みました。新しい QGraphicsItem B (実際にはその独自のサブクラス) を作成し、B で setParentItem メソッドを呼び出して別の QGraphicsItem A に子として追加します。その直後、A は B を子として持ちます。A の子を反復処理するいくつかのデバッグ コードで確認しました。その後、A は Manager の As のリストに追加されます。プログラムのしばらくして、QWidget でリスト イテレータがマネージャから取得されます。次に、As のリストを反復処理し、それぞれの子をチェックすると、すべてがなくなっています。Manager が実際に同じインスタンスであり、リストも同じインスタンスであることをデバッガーで確認しました。どういうわけか、これは本当に私を困惑させます.Qt FWKで、誰が私のAオブジェクトがもはやその子を必要としないと判断したのでしょうか?

私はQtとC ++の初心者であり、Javaからobjective-cまでの幅広い開発経験もあるため、それが私が気付いていないQtの専門であり、完全に自分の愚かさではないことを願っています...

よろしくお願いします、

アンドレ

4

1 に答える 1

0

参考までに: グループ化のために特別に設計された QGraphicsItemGroup 。

// 選択したすべてのアイテムをグループ化します

QGraphicsItemGroup *group = scene->createItemGroup(scene->selecteditems());

于 2011-12-15T04:03:38.110 に答える