3

问候,

我正在尝试在当前屏幕的中心添加一个 QGraphicsItem 。
我的 QGraphicsScene 非常大(10k X 10K),所以 QGraphicsView 不能完全显示,有滚动条。

我找不到任何函数来返回当前屏幕的矩形,我在所有 QGraphicsScene 和 QGraphicsView 函数中进行了搜索。
有返回场景矩形的功能(它返回一个 10k X 10k 的矩形,但它没用)并且有返回鼠标位置的功能,但我需要移动鼠标并单击菜单,这样鼠标就不会再在里面了场景和项目将在可见空间之外生成......

非常感谢你。

4

1 回答 1

6

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

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

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

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

于 2011-05-07T22:26:00.623 回答