QGraphicsItemを実装するChartblockオブジェクトを作成しました。私の目標は、これらのオブジェクトのグリッドを作成し、マウスボタンが押され(そして保持され)、各ブロック上の薬物であるときに、カーソルがそのブロックに入るときに各ブロックで何かを実行することです。Qt C++複数のQGraphicsItemで1つのマウスイベントを処理させる
QGraphicsItemは、マウスイベントがクリックされたときにマウスイベントを取得するため、mouseMoveEventでは他のアイテムは起動しません。その後、すべてのマウスイベントを処理するためにQGraphicsItemGroupに基づくオブジェクトを作成しましたが、mousePressEvent/mouseReleaseEventだけでなく、mouseMoveEventをカーソルがある各子に渡す方法が必要でした。
私はこれをやりすぎると思いますか?このような簡単な操作は作成するのが難しいはずはないようですが、QGraphicsItems自体がマウスイベントを保持しているため、どうやって回避するかわかりません。私は似たような状況を読んだことがありますが、何も簡単な答えを出すことはできません。
編集:これを行う方法は、配列内に作成したすべてのQGraphicsItemの座標/サイズを追跡し、グループmouseMoveEventのカーソルの位置を取得し、ヒットしたかどうかを確認すると思います。
それが表示され、[この古い質問](http://stackoverflow.com/questions/3845615/detect-when-mouse-enter-qgraphicsitem-with-button-down)で正確に私が何をしたいのか、実際の解決方法は言及されていません。 – giraffee