在我的項目中,我正在使用QGraphicsView/QGraphicsScene東西。關於在QGraphicsView/QGraphicsScene上縮放的一般建議
在我的場景中會有包含2D圖形的區域。 區域數量將會受到限制(比如說20)
用戶可以選擇顯示一個或多個區域。
如果用戶選擇顯示一個區域,我將在場景中顯示一個區域
如果用戶選擇顯示n個區域,我將在場景中顯示n個區域
我需要一個縮放邏輯來將n個區域放在同一場景中。
我該如何做到這一點?
在我的項目中,我正在使用QGraphicsView/QGraphicsScene東西。關於在QGraphicsView/QGraphicsScene上縮放的一般建議
在我的場景中會有包含2D圖形的區域。 區域數量將會受到限制(比如說20)
用戶可以選擇顯示一個或多個區域。
如果用戶選擇顯示一個區域,我將在場景中顯示一個區域
如果用戶選擇顯示n個區域,我將在場景中顯示n個區域
我需要一個縮放邏輯來將n個區域放在同一場景中。
我該如何做到這一點?
QGraphicsView::fitInView()應該做你想要什麼:
QRectF bounding;
foreach(QRectF r, selectedRegionRects) {
bounding |= r;
}
scene->fitInView(bounding, Qt::KeepAspectRatio);
我相信你應該用ensureVisible的方法。