Qt Graphics Viewフレームワークを使用するプログラムを作成しています。私は他のQGraphicsItem
(またはそれの他のサブクラス)を含むクラスにサブタイプQGraphicsItem
を割り当てました。このクラスは、付属のQGraphicsItem
の親です。コンポジットオブジェクトで作業することです。mousePressEvent()をQGraphicsItemsのグループに伝播するにはどうすればよいですか?
docsから、私が達成しようとするもので紛争のようだ:mousePressEvent
でignore()
を呼び出す
- は私のオブジェクトが移動できないようになります。私はそれを動かしたい。
accept()
をmousePressEvent
にコールすると、イベントが子オブジェクトに伝播されなくなります。子オブジェクトの中には、マウスイベントに反応するものがあります。
どうすればこの作品を作成できますか?
親ハンドラーにQApplication :: postEventを呼び出させることで、アイテムの子のそれぞれにイベントを送信することを検討しましたか? – kenrogers
最後のコメントを無視してください。悪いアイデア。以下のStyneの答えを参照してください。 – kenrogers
私はこれをしようとしています:左マウスのプレスは、移動アクションの開始点であるため、 'mousePressEvent()'で受け入れられ、オブジェクトによって処理されます。他のオブジェクトはイベントを取得しません。他の入力(右ボタン、修飾キー)の場合、イベントは無視され、次のオブジェクトに移動します。 Stynes666は、あまり意味がないことがあるということについては正しいです。 –