는 QGraphicsItem::ItemPositionChange
확인 :
항목의 위치 변경. 이 알림은 ItemSendsGeometryChanges
플래그가 사용 설정되어 있고 항목의 로컬 위치가 부모와 관련하여 변경된 경우 (즉, setPos()
또는 moveBy()
을 호출 한 결과) 알림이 전송됩니다. 값 인수는 새 위치 (즉, QPointF
)입니다. 원래 위치를 얻으려면 pos()
으로 전화하십시오. setPos()
또는 moveBy()
을 itemChange()
으로 보내지 마십시오.이 알림은 입니다. 대신 새 조정 위치를 itemChange()
에서 반환 할 수 있습니다. 이 알림 후 QGraphicsItem
은 위치가 변경된 경우 즉시 ItemPositionHasChanged
알림을 보냅니다.
그래서 당신은 itemChange
때 위치 변경을 불렀다하기 위해 플래그 QGraphicsItem::ItemSendsGeometryChanges
를 사용하도록 설정해야합니다.
기본적으로이 disabled for optimization입니다 : 성능상의 이유로
은, 이러한 알림은 기본적으로 비활성화되어 있습니다. 위치 변경 및 변환 변경에 대한 알림을 받으려면이 플래그를 사용해야합니다.이 플래그는 Qt 4.6에서 추가되었습니다.
플래그를 설정하려면 setFlag
함수를 사용자 정의 항목의 생성자에서 호출해야합니다.
item->setFlag(GraphicsItem::ItemSendsGeometryChanges);
누락 된 항목은 모두 setFlag (ItemSendGeometryChanges);입니다. 죄송합니다. –