我在主窗口中新建了一个Widget,怎么在它上边画图
时间: 2023-12-03 08:46:07 浏览: 67
子QWidget上画图
你可以在该 Widget 的 paintEvent 事件中进行绘制操作。paintEvent 事件会在 Widget 需要重新绘制时自动触发,你只需要在其中编写绘制代码即可。
以下是一个简单的例子,演示如何在一个 QWidget 上绘制一个矩形:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QColor, QBrush
class MyWidget(QWidget):
def __init__(self):
super().__init__()
def paintEvent(self, e):
qp = QPainter(self)
brush = QBrush(QColor(255, 0, 0))
qp.setBrush(brush)
qp.drawRect(10, 10, 50, 50)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWidget()
w.show()
sys.exit(app.exec_())
```
这里我们新建了一个 MyWidget 类,继承自 QWidget。在其 paintEvent 事件中,我们通过 QPainter 对象进行绘制操作,画出了一个左上角坐标为 (10, 10),宽高为 50 的红色矩形。
阅读全文