2010-05-24 4 views
1

내 프로젝트에서 나는 QGraphicsView/QGraphicsScene을 사용하고 있습니다.QGraphicsView/QGraphicsScene에서 스케일링에 대한 일반적인 조언

내 장면에는 2D 그래픽이 포함 된 영역이 있습니다. 지역 카운트가 제한됩니다 (20).
사용자는 하나 이상의 지역을 표시하도록 선택할 수 있습니다.
사용자가 하나의 영역을 표시하도록 선택한 경우 장면에 하나의 영역을 표시하려고합니다
사용자가 n 개의 영역을 표시하도록 선택하면 장면에 n 개의 영역을 표시합니다.
동일한 장면에 n 개의 영역을 맞추기 위해 크기 조정 논리가 필요합니다. .

어떻게하면됩니까?

답변

1

QGraphicsView::fitInView()은 당신이 원하는 무엇을해야하는지 :

QRectF bounding; 
foreach(QRectF r, selectedRegionRects) { 
    bounding |= r; 
} 
scene->fitInView(bounding, Qt::KeepAspectRatio); 
0

나는 ensureVisible 방법을 사용해야한다고 생각합니다.