QGraphicsView
에서 파생 된 클래스가 있는데 여기에는 QGraphicsItem
파생 요소가 포함되어 있습니다. 나는 마우스 커서 그들을 위로 가져갈 때마다 이러한 요소 색상을 변경하려면, 그래서 hoverEnterEvent
(및 hoverLeaveEvent
)를 구현 :QGraphicsItem에서 마우스를 가리키면 이벤트가 수신되지 않습니다.
void MyGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent* event)
{
update (boundingRect());
}
그러나,이 이벤트 핸들러 코드가 실행되지 않습니다. 명시 적으로 마우스 추적을 사용 설정했습니다.
MyGraphicsView::MyGraphicsView(MainView *parent) :
QGraphicsView(parent)
{
setMouseTracking(true);
viewport()->setMouseTracking(true);
...
}
운 좋게도. 내가 도대체 뭘 잘못하고있는 겁니까?
나는이 같은 문제가 있었고,'QGraphicsView'에서'mouseMoveEvent' 구현을 제거하는 것이 또한 그것을 고칠 필요가있었습니다. 이제는'QEvent'를 먹지 않는 방법을 찾아 내면 아마'mouseMoveEvent'를 다시 추가 할 수 있습니다. –
정말 고마워요! 방금 큰 고통을 끝냈습니다 –
@CoryKlein mouseMoveEvent 및 hover 이벤트를 모두 사용할 수있는 방법을 찾았습니까? – lena