关于QGraphicsView / QGraphicsScene扩展的一般建议

时间:2010-05-24 07:19:03

标签: c++ qt implementation scaling qgraphicsview

在我的项目中,我正在使用QGraphicsView / QGraphicsScene内容。

在我的场景中,将会有包含2D图形的区域。 区域数量将受到限制(比方说20) 用户可以选择显示一个或多个区域 如果用户选择显示一个区域,我将在场景上显示一个区域 如果用户选择显示n个区域,我将在场景中显示n个区域 我需要一个缩放逻辑来适应同一场景中的n个区域。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

QGraphicsView::fitInView()应该做你想做的事:

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

答案 1 :(得分:0)

我相信你应该使用ensureVisible方法。