在 QGraphicsView 中移动项目
Posted
技术标签:
【中文标题】在 QGraphicsView 中移动项目【英文标题】:Moving items in QGraphicsView 【发布时间】:2011-08-02 15:50:51 【问题描述】:我是 Qt 的新手,尤其是 QGraphicsView
。当我在其中旋转 Qgraphicspixmapitem
时,它似乎也在移动。我发现这与 QGraphicsView
调整以保持场景可见有关。
我删除了滚动条,因为我不需要它们,并且我希望场景的某些部分在 QGraphicsView
不改变其视图的情况下消失。换句话说,我希望我的QGraphicsView
中的所有内容都具有绝对位置,并且我不希望QGraphicsView
改变它的观点(或者不管它叫什么,请纠正我的术语)。
【问题讨论】:
【参考方案1】:你需要的函数是QGraphicsView::setSceneRect:
此属性保存此视图可视化的场景区域。 场景矩形定义场景的范围,在视图的情况下,这意味着您可以使用滚动条导航的场景区域。 如果未设置,或者如果设置了空 QRectF,则此属性具有与 QGraphicsScene::sceneRect 相同的值,并且它随 QGraphicsScene::sceneRect 而变化。否则,视图的场景矩形不受场景影响。
因此,将视图的 sceneRect 设置为视图中所需的场景矩形,一切都应该很好。
【讨论】:
以上是关于在 QGraphicsView 中移动项目的主要内容,如果未能解决你的问题,请参考以下文章
在自定义 QGraphicsView 中移动 QGraphicsItem 问题
从 QGraphicsScene/QgraphicsItemGroup/QGraphicsView 中正确删除项目
在 QGraphicsView/QGraphicsScene 中移动 QGraphicsProxyWidget 中的嵌入式小部件