缩放QGraphicsScene以填充整个QGraphicsView

时间:2014-06-08 17:51:58

标签: c++ qt qgraphicsview qgraphicsscene

我已经找到了一些针对这个问题的修复程序,但似乎没有一个是足够的。我有QGraphicsView显示QGraphicsScene。我想要做的是缩放场景以填充整个视图。此外,我希望它在用户调整显示视图的窗口大小时动态缩放。这样的事情可能吗?如果是这样,我很高兴你能给我一个简短的例子来说明它应该如何实施。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以创建继承自QGraphicsView的自定义类。您应该在自定义QGraphicsView中重新实现resizeEvent(QResizeEvent * event),如:

void MyView::resizeEvent(QResizeEvent *event)
{

    fitInView(0, 0, 500, 500,Qt::KeepAspectRatio);

    QGraphicsView::resizeEvent(event);
}

这样,视图将始终显示整个场景。即如果更改了窗口大小并调整了graphicsView的大小,则场景会缩放,您可以正确地看到所有内容。