我正在尝试使用QGraphicsScene在其中显示完整视图中的图片。但是当我把QgraphicsScene放在QGraphicsView中时,我得到一个滚动条。我尝试了很多方法但是所有的都去了静脉。所以有人可以告诉我如何在没有滚动条的情况下获得完整视图。
答案 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()
的重载之一。