2014-08-29 58 views
1

想象一下QGraphicsView设置的场景宽度是视图宽度的两倍。 sceneRect()将返回整个场景矩形。我希望得到代表滚动条位置一半的矩形。如何获取可见场景矩形QGraphicsView

+0

'QAbstractScrollArea :: viewport()'返回你需要的东西吗? – vahancho 2014-08-29 11:57:06

+0

@vahancho,关于托马斯的回答,应该是。 – 2014-09-11 13:26:37

回答

1

使用graphicsView->viewport()->rect()获取视口矩形,并使用graphicsView->mapToScene()将其映射到场景空间。

+0

'viewport() - > rect()'似乎更适合我。如果我们同意这一点,那么你可以编辑你的答案,我会接受它。 – 2014-09-11 13:25:15

+0

'viewport() - > rect()'适用于我。 – 2014-09-12 17:33:09

0

我不完全确定你确切需要哪个矩形(这取决于你想要做什么),但是像graphicsView->viewport()->contentsRect()graphicsView->viewport()->geometry()应该工作。