qpainter在控件中画图
时间: 2023-08-30 09:06:49 浏览: 125
qt 在控件上绘制图形
QPainter是Qt框架中的一个绘图类,可以用来在控件中绘制图形。以下是一个简单的例子,演示如何在QWidget控件中使用QPainter绘制一个椭圆形:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPainter, QPen, QBrush
from PyQt5.QtWidgets import QWidget, QApplication
class MyWidget(QWidget):
def paintEvent(self, event):
painter = QPainter(self)
painter.setPen(QPen(Qt.black, 2, Qt.SolidLine))
painter.setBrush(QBrush(Qt.red, Qt.SolidPattern))
painter.drawEllipse(50, 50, 100, 150)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = MyWidget()
w.show()
sys.exit(app.exec_())
```
在上述代码中,我们创建了一个继承自QWidget的自定义控件MyWidget,并覆盖了其paintEvent()方法。在该方法中,我们创建了一个QPainter对象,并设置了画笔和画刷属性,最后调用drawEllipse()方法绘制一个椭圆形。运行该程序,便会在窗口中显示一个红色的椭圆形。
阅读全文