2010-12-21 1 views
0

두 개의 QGraphicView 개체가 있습니다 (동일한 파생 클래스 기반). 그들은 서로 다른 장면을 포함하지만, 몇 가지 (때로는 많은) 항목이 동일합니다. 이러한 항목에는 공통 좌표가 있습니다. 나는 같은 프레임 안에 다른 것을 표시한다. 나는 그 일을하는 데 아무런 문제가 없었다.QGraphicView 요소 동기화

그래픽보기 모두에서 확대/축소하고 뷰포트를 이동할 가능성을 추가했습니다. 표시 할보기를 선택하기위한 단추를 추가했습니다. 내가 가지고있는 문제는 지금까지 공통 항목 (다시, 같은 좌표로)이 화면의 같은 위치에 머물러 있는지 확인할 수 없었다.

두 가지보기를 동기화하는 방법에 대한 조언이 있으십니까?

변환 매트릭스를 사용하여이 문제를 해결하려고 노력했지만 지금은 확대/축소가 가능하지만 번역 문제는 여전히 해결할 수 없습니다.

답변

2

변환 문제는 아마도 변환을 변경 한 후 2 개의 뷰가 같은 포인트의 중앙에 있지 않을 가능성이 있습니다. 기본적으로 고정 모드는 변형이 변경된 후 장면 중심을 뷰의 중앙에 배치하는 모드입니다. transformationAnchor ~ NoAnchor으로 설정하면 도움이 될 수 있습니다.

또한 2 개의 장면이 동일한 sceneRect를 가지고 있는지 확인해야합니다.

+0

sceneRect 사용에 대한 귀하의 조언은 즉시 적용되었습니다. 감사 ! transformAnchor를 사용해 보았습니다. –

+0

죄송합니다. 아니 아직 거기 :(. 그것은 스크롤바가 없을 때 작동합니다 ... –

+0

sync'ed 스크롤바 위치를 가지고 후, 이제는 잘 작동합니다! –