Qt在场景/视图的中心添加项目

时间:2011-05-07 16:21:32

标签: qt qgraphicsview qgraphicsscene

问候,

我试图将QGraphicsItem完全添加到当前屏幕的中心。
我的QGraphicsScene非常大(10k X 10K),因此QGraphicsView无法完全显示它,还有滚动条。

我无法找到任何函数来返回当前屏幕的矩形,我搜索了所有QGraphicsScene和QGraphicsView函数。
有一些函数可以返回场景rect(它返回一个矩形10k X 10k但它没用)并且有一些函数可以返回鼠标位置,但是我需要移动我的鼠标并单击菜单以便鼠标将不再在场景内,该项目将在可见空间外生成...

非常感谢。

1 个答案:

答案 0 :(得分:5)

您应该将视口的左上角(0,0)映射到场景。宽度和宽度height等于视口的rect宽度&高度。

要获取当前屏幕的矩形,请尝试以下方法:

QRect exposedRect(graphicsView.mapToScene(0,0).toPoint(), graphicsView.viewport()->rect().size());

我假设你可以从这里处理它。