用pyqt写一个简单的绘图窗口
时间: 2023-07-04 20:16:29 浏览: 46
下面是一个使用PyQt5实现的简单的绘图窗口:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QGraphicsScene, QGraphicsView, QGraphicsEllipseItem
from PyQt5.QtGui import QPen, QColor
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口大小和标题
self.setGeometry(100, 100, 600, 400)
self.setWindowTitle('绘图窗口')
# 创建场景和视图
self.scene = QGraphicsScene(self)
self.view = QGraphicsView(self.scene, self)
self.view.setGeometry(0, 0, 600, 400)
# 创建一个圆形
ellipse = QGraphicsEllipseItem(-50, -50, 100, 100)
ellipse.setPen(QPen(QColor(255, 0, 0), 2))
ellipse.setBrush(QColor(255, 255, 0))
ellipse.setPos(300, 200)
self.scene.addItem(ellipse)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
在这个例子中,我们使用QGraphicsScene和QGraphicsView来实现绘图窗口。QGraphicsScene是一个2D图形场景,可以在其中添加各种图形项,如椭圆、矩形、文本等。QGraphicsView是一个2D图形视图,可以在其中显示QGraphicsScene中的图形项。
在MyWindow类的构造函数中,我们先设置窗口大小和标题,然后创建了一个QGraphicsScene和一个QGraphicsView,并将QGraphicsScene设置为QGraphicsView的场景。接着,我们创建了一个椭圆形状的图形项,并设置它的位置、填充颜色和边框颜色。最后,我们将这个图形项添加到QGraphicsScene中。
运行程序,可以看到一个带有一个黄色圆形的窗口。你可以进一步修改代码来绘制其他形状的图形,或者添加交互功能,如点击、拖拽等。