如何操作qpainter绘制出来的图形
时间: 2024-05-12 15:12:49 浏览: 63
利用QPainter绘制各种图形
3星 · 编辑精心推荐
在使用 QPainter 绘制图形后,可以将其渲染到 QWidget、QPixmap 或 QImage 上。然后可以将其显示在屏幕上或者保存为图片。下面是一个简单的例子:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget
from PyQt5.QtGui import QPainter, QColor, QPen
from PyQt5.QtCore import Qt
class MyWidget(QWidget):
def paintEvent(self, event):
qp = QPainter(self)
qp.setPen(QPen(Qt.black, 5, Qt.SolidLine))
qp.setBrush(QColor(255, 0, 0, 255))
qp.drawRect(10, 10, 100, 100)
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 300, 300)
self.setWindowTitle("My Window")
widget = MyWidget(self)
self.setCentralWidget(widget)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个 MyWidget 类,重写了 paintEvent 方法,在这个方法中使用 QPainter 绘制了一个矩形,并将其渲染在 QWidget 上。然后将这个 QWidget 设置为 QMainWindow 的 central widget,最后显示这个 QMainWindow。
如果你想保存绘制出来的图形,可以使用 QPixmap 或 QImage 将 QWidget 渲染出来,然后保存为图片文件。例如:
```python
pixmap = widget.grab()
pixmap.save("my_image.png")
```
这个例子将 MyWidget 渲染成 QPixmap,并将其保存为 my_image.png 文件。
阅读全文