QGraphicsView
ダイアグラム風のアプリケーションを実装することで、Qt の知識を拡張しようとしています。現在、ハンドルを使用して長方形を選択、ドラッグ、およびスケーリングできます。HandleItem
s は a の子であり、選択したaManipulatorItem
を順番にスケーリングしDiagramItem
ます。アイテムが選択されたときにのみハンドルを表示することで、これを改善したいと考えています。私の問題はこれです:
- アイテムが選択されている場合、
itemChanged()
inHandleItem
は呼び出されません - ハンドル アイテム
ItemIsSelectable
フラグが設定されている場合は機能しますが、元のアイテムは明らかに選択解除されます。
私の質問は、親がまだ選択されている間にジオメトリの変更を子に送信することは可能ですか? また、ハンドル アイテムは、親アイテムの境界四角形の外側にある場合もあります。
にはDiagramItem
次のフラグがあります。
setFlags(ItemIsMovable | ItemIsSelectable);
にはHandleItem
次のフラグがあります。
setFlags(ItemIsMovable | ItemSendsGeometryChanges);