每当我向QGraphicsScene添加新项时,QGraphicsScene的原点似乎会随着我刚添加的项的位置而改变。
如何固定QGraphicsScene原点?
我是否需要先将项目添加到QGraphicsScene中,然后再为项目指定位置?
发布于 2013-01-02 02:46:59
默认情况下,场景的内容将在QGraphicsView中居中。图形场景的原点不会随机更改。
您可能希望使用setSceneRect()定义场景的大小,以便QGraphicsView始终以固定方式使场景在视图中居中。(如果不手动设置,矩形将根据场景中的项目进行计算,如果添加更多项目,则会发生变化。)
发布于 2013-01-02 07:36:57
大约一年前,我回答了一个相关的问题,这可能会有所帮助:
How to draw a point (on mouseclick) on a QGraphicsScene?
什么坏猫也是如此。
有许多控件可用于调整或操纵指向场景的视口。场景设置舞台上的内容。视图是你如何看待它的。请确保设置sceneRect,或者使用fitInView类中的centerOn、fitInView、scale或translate间接设置它。
http://qt-project.org/doc/qt-4.8/graphicsview.html
http://qt-project.org/doc/qt-4.8/qgraphicsview.html
发布于 2013-01-02 02:47:46
setSceneRect( const QRectF & rect )将使其成为绝对的。
请参阅http://doc.qt.digia.com/qt/qgraphicsscene.html#sceneRect-prop
https://stackoverflow.com/questions/14113136
复制相似问题