2010-06-11 1 views
11

내 응용 프로그램에서는 항목을 하나의 항목으로 그룹화하기 위해 QGraphicsItemGroup을 사용하려고합니다.
이벤트를 잡으려고 할 때 이벤트가 병합 되었기 때문에 특정 아이와 함께 특정 이벤트를 처리하기를 원하기 때문에 조금 놀았습니다.
어떻게해야합니까?QGraphicsItemGroup의 이벤트

답변

12

QGraphicsItemGroup::setHandlesChildEvents(false)으로 전화해야합니다. 그러면 QGraphicsItemGroup이 이벤트를 처리하지 못하도록하고 자식 QGraphicsItem이 대신 처리하도록합니다.

3

나는 이것이 QGraphicsItemGroup의 요점이라고 생각합니다. 문서에서 판단하면 여러 항목을 동시에 한 번에 이동 및 변형하는 작업을 단순화하는 것입니다. 다음과 같은 경우를 상상해보십시오. 사용자가 모든 항목을 이동하려고하기 때문에 응용 프로그램의 여러 항목 주위에 선택 사각형을 그립니다. 아마도 더 많은 것을 원하면 아이템의 계층을 만드는 것입니다. 하나의 상위 항목에 여러 개의 하위 항목이 있습니다. 이렇게하면 각 항목에 대한 개별 이벤트를 가져올 수 있습니다. 이것은 QGraphicsItem::setParentItem()을 호출하여 수행 할 수 있습니다.

+2

QGraphicsItemGroup을 사용할 때마다 일반 부모 자식 관계로 되돌아갔습니다. 설명서에 그 내용이 명확하지 않습니다. –