在我的项目中,我正在使用QGraphicsView / QGraphicsScene内容。
在我的场景中,将会有包含2D图形的区域。 区域数量将受到限制(比方说20) 用户可以选择显示一个或多个区域 如果用户选择显示一个区域,我将在场景上显示一个区域 如果用户选择显示n个区域,我将在场景中显示n个区域 我需要一个缩放逻辑来适应同一场景中的n个区域。
我怎样才能做到这一点?
答案 0 :(得分:1)
QGraphicsView::fitInView()应该做你想做的事:
QRectF bounding;
foreach(QRectF r, selectedRegionRects) {
bounding |= r;
}
scene->fitInView(bounding, Qt::KeepAspectRatio);
答案 1 :(得分:0)
我相信你应该使用ensureVisible方法。