2013-11-20 78 views
0

我适合我的场景视图的大小,但它的含量对右边和底边一些利润。QGraphicsScene禁止设置右边和底部边缘

m_ui.graphicsView->fitInView(m_scene->sceneRect(), Qt::IgnoreAspectRatio); 

我可以避免这种行为吗?

enter image description here

+1

可能是错的,但是这取决于你把你的图形查看您使用制图器,这是不同元素之间的余量。如果您使用QMainWindow,则中央控件也有余量。检查[这](http://stackoverflow.com/questions/16572344/space-between-widgets-in-qvboxlayout)问题,看看是否有帮助你。 – dowhilefor

+0

没有,QGraphicalsView是没有利润,也视它没有网格布局。这个边界是内部视图。我尝试设置它。也许有可能在元素上设置view resizeEvent过滤器?但是我在QGraphicsItem中找不到任何函数。 – Eugene

回答

0

我想你误会了fitInView功能的点。它确保场景的指定区域在视图中可见。正如文档所述: -

缩放视图矩阵并滚动滚动条以确保场景矩形矩形适合视口内部。 rect必须在场景rect内;否则,fitInView()不能保证整个矩形是可见的。

+0

你说得对。但是,如何在所有视图上缩放场景内容并避免此行为? – Eugene

+0

如何设法视功能setFrameStyle(QFrame :: NOFRAME)? – TheDarkKnight

+0

它没有帮助。 – Eugene