Qt - 没有ScrollBar的QGraphicsView

时间:2010-08-18 15:31:18

标签: c++ qt

我正在尝试使用QGraphicsScene在其中显示完整视图中的图片。但是当我把QgraphicsScene放在QGraphicsView中时,我得到一个滚动条。我尝试了很多方法但是所有的都去了静脉。所以有人可以告诉我如何在没有滚动条的情况下获得完整视图。

2 个答案:

答案 0 :(得分:10)

您可能会收到滚动条,因为场景大于图形视图中的可用区域。默认情况下,QGraphicsView具有1像素的边距。要解决此问题,您可以尝试:

QRect rcontent = graphicsView.contentsRect();
graphicsView.setSceneRect(0, 0, rcontent.width(), rcontent.height());

我一直在使用滚动条,因为我手动将场景rect设置为我添加的图形项的大小 - 这与QGraphicsView小部件一样大。我没有考虑到保证金。

答案 1 :(得分:6)

QGraphicsView v;
v.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
v.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

要在隐藏这些滚动后以编程方式调整滚动,请使用v.ensureVisible()的重载之一。