我創建了一個實現QGraphicsItem的對象Chartblock。我的目標是創建這些對象的網格,並且當鼠標按鈕被按下(並且被保持)並且在每個塊上都是藥物時,當光標進入它時在每個塊上執行一些操作。Qt C++讓多個QGraphicsItem處理一個鼠標事件
由於QGraphicsItem在鼠標事件被點擊時捕獲鼠標事件,其他項目不會爲mouseMoveEvent觸發。然後我創建了一個基於QGraphicsItemGroup的對象來處理所有的鼠標事件,但是我需要一些方法將mousePressEvent/mouseReleaseEvent以及mouseMoveEvent傳遞給光標所在的每個孩子。
我是否過度如何做到這一點?看起來這樣一個簡單的動作不應該很難創建,但是使用QGraphicsItems來保存鼠標事件本身,我不知道如何繞過它。我讀過類似的情況,但似乎沒有提供直接的答案。
編輯:我想這樣做的方法將跟蹤我在數組中創建的每個QGraphicsItem的座標/大小,然後在組mouseMoveEvent中獲取光標的位置,並查看是否有命中。
看樣子[這個舊的問題(http://stackoverflow.com/questions/3845615/detect-when-mouse-enter-qgraphicsitem-with-button-down)正是我想做的事情,但沒有提到真正的解決方案。 – giraffee 2011-12-18 18:09:07