2

QGraphicsViewダイアグラム風のアプリケーションを実装することで、Qt の知識を拡張しようとしています。現在、ハンドルを使用して長方形を選択、ドラッグ、およびスケーリングできます。HandleItems は a の子であり、選択したaManipulatorItemを順番にスケーリングしDiagramItemます。アイテムが選択されたときにのみハンドルを表示することで、これを改善したいと考えています。私の問題はこれです:

  1. アイテムが選択されている場合、itemChanged()inHandleItemは呼び出されません
  2. ハンドル アイテムItemIsSelectableフラグが設定されている場合は機能しますが、元のアイテムは明らかに選択解除されます。

私の質問は、親がまだ選択されている間にジオメトリの変更を子に送信することは可能ですか? また、ハンドル アイテムは、親アイテムの境界四角形の外側にある場合もあります。

にはDiagramItem次のフラグがあります。

setFlags(ItemIsMovable | ItemIsSelectable);

にはHandleItem次のフラグがあります。

setFlags(ItemIsMovable | ItemSendsGeometryChanges);
4

0 に答える 0