自己定义一个图片,通过使用QPainter、QPen、QBrush、QPixmap等方法,绘制一个彩色图片,再添加矩形和椭圆,并在矩形和椭圆之间填充蓝色,椭圆颜色为绿色、宽为4。
时间: 2024-02-04 21:04:09 浏览: 102
好的,我来帮您实现这个需求。以下是代码实现:
```python
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class MyWidget(QWidget):
def __init__(self):
super().__init__()
# 设置窗口大小为400*400
self.setFixedSize(400, 400)
# 设置窗口标题
self.setWindowTitle('绘制图形')
def paintEvent(self, event):
# 创建QPainter对象
painter = QPainter(self)
# 设置画笔颜色为红色,宽度为2
pen = QPen(Qt.red, 2)
painter.setPen(pen)
# 设置画刷颜色为黄色
brush = QBrush(Qt.yellow)
painter.setBrush(brush)
# 绘制矩形
rect = QRect(50, 50, 200, 100)
painter.drawRect(rect)
# 填充矩形和椭圆之间的区域为蓝色
brush = QBrush(Qt.blue)
painter.setBrush(brush)
painter.fillRect(QRect(60, 60, 180, 60), brush)
# 绘制椭圆,颜色为绿色,宽度为4
pen = QPen(Qt.green, 4)
painter.setPen(pen)
painter.drawEllipse(QPoint(150, 150), 50, 50)
# 创建QPixmap对象,用于显示绘制的图形
pixmap = QPixmap(self.size())
self.render(pixmap)
painter.drawPixmap(0, 0, pixmap)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
运行以上代码后,您会看到一个绘制好的彩色图片,并且在矩形和椭圆之间填充了蓝色,椭圆的颜色为绿色,宽度为4。
阅读全文