我在水平布局中有一个 QGraphicsView。QGraphics 场景中包含的 QGraphicsScene 非常大(数千像素),因此默认情况下会显示滚动条以允许我滚动浏览视图。
每次更新图形场景中的场景时,我都会删除旧场景,创建一个新场景,用对象填充它,然后调用 view->setScene(scene)。但是,当我这样做时,滚动条默认位于 QGraphicsView 的左上角,而不是停留在它们所在的位置。
我尝试在销毁场景之前保存 QGraphicsScene::sceneRect ,然后在之后执行 setSceneRect() 来恢复它,但这不起作用,因为这只影响场景本身,而不是显示它的 QGraphicsView。我也尝试过查看->verticalScrollBar()->setValue(),但这似乎根本不会影响滚动条。
如何访问默认为我创建的滚动条,并将它们设置为之前存储的值?