qgraphicsview上经过drawpoints后的图片如何保存
时间: 2024-03-27 20:34:51 浏览: 117
在Qt中,可以通过QPixmap类来保存QGraphicsView上的绘图内容。具体步骤如下:
1. 使用QPixmap的fromImage方法将QGraphicsView上的绘图内容转换为QImage对象。
```python
img = QPixmap.grab(self.graphicsView.viewport()).toImage()
```
2. 将QImage对象保存为图片文件。
```python
img.save('image.png')
```
完整的代码示例:
```python
from PyQt5.QtWidgets import QGraphicsScene, QGraphicsView, QGraphicsEllipseItem, QMainWindow, QApplication
from PyQt5.QtGui import QPixmap
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.scene = QGraphicsScene()
self.view = QGraphicsView(self.scene)
self.setCentralWidget(self.view)
self.draw_points()
def draw_points(self):
for i in range(10):
item = QGraphicsEllipseItem(i*10, i*10, 10, 10)
self.scene.addItem(item)
def save_image(self):
img = QPixmap.grab(self.graphicsView.viewport()).toImage()
img.save('image.png')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
注意,在使用QPixmap的grab方法时,需要传入QGraphicsView的viewport()作为参数,以获取QGraphicsView上的绘图内容。保存图片时,需要指定保存的文件名及文件格式。
阅读全文