2010-05-24 167 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);