QVBoxLayout添加一个QGraphicsScene并显示
时间: 2024-02-21 09:01:28 浏览: 89
可以通过如下代码实现:
```python
import sys
from PyQt5.QtWidgets import QApplication, QGraphicsView, QGraphicsScene, QVBoxLayout, QWidget
class MyWidget(QWidget):
def __init__(self):
super().__init__()
# 创建QGraphicsView和QGraphicsScene
self.view = QGraphicsView(self)
self.scene = QGraphicsScene(self)
self.view.setScene(self.scene)
# 创建QVBoxLayout并将QGraphicsView添加到其中
layout = QVBoxLayout(self)
layout.addWidget(self.view)
# 添加一个矩形到QGraphicsScene中
rect = self.scene.addRect(0, 0, 100, 100)
rect.setFlag(rect.ItemIsMovable)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWidget()
w.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个QWidget,然后在这个QWidget上创建了一个QGraphicsView和QGraphicsScene。我们将QGraphicsView添加到一个QVBoxLayout中,然后将这个QVBoxLayout设置为QWidget的布局。最后,我们添加了一个矩形到QGraphicsScene中,这个矩形可以被移动。
阅读全文