QGraphicsItemを実装するオブジェクトChartblockを作成しました。私の目標は、これらのオブジェクトのグリッドを作成することです。マウスボタンを押して(押したままにして)各ブロックをドラッグしたら、カーソルがブロックに入るときに各ブロックで何かを実行します。
QGraphicsItemは、その中でクリックされたときにマウスイベントを取得するため、他のItemはmouseMoveEventに対して起動しません。次に、QGraphicsItemGroupに基づいてオブジェクトを作成し、すべてのマウスイベントを処理しましたが、カーソルが置かれている各子にmousePressEvent/mouseReleaseEventとmouseMoveEventを渡す方法が必要になります。
私はこれを行う方法を考えすぎていますか?このような単純なアクションを作成するのはそれほど難しいことではないようですが、QGraphicsItemsがそれ自体でマウスイベントを保持しているため、それを回避する方法がわかりません。私は同様の状況を読みましたが、簡単な答えを与えるものは何もないようです。
編集:これを行う方法は、配列内に作成するすべてのQGraphicsItemの座標/サイズを追跡し、グループmouseMoveEventでカーソルの位置を取得して、ヒットがあるかどうかを確認すると思います。