当QGraphicsItem超出QGraphicsView边界,不做边界扩展处理
时间: 2023-08-26 09:28:09 浏览: 148
qt5下自定义QGraphicsItem在场景中拖动吸附算法
如果想让QGraphicsItem在超出QGraphicsView边界时不做边界扩展处理,可以通过设置QGraphicsView的属性来实现。具体来说,可以设置QGraphicsView的"SceneRect"属性为QRectF(),表示场景范围为一个空矩形,这样QGraphicsItem超出视图边界后就不会被裁剪或者扩展到视图范围内了。示例代码如下:
```python
view = QGraphicsView()
scene = QGraphicsScene()
view.setScene(scene)
view.setRenderHint(QPainter.Antialiasing)
view.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
# 设置场景范围为空矩形
view.setSceneRect(QRectF())
```
这样设置后,当QGraphicsItem超出视图边界时,不会被自动调整到视图范围内,而是会被截断。
阅读全文