pyqt5 在label上绘制矩形
时间: 2023-08-14 16:00:55 浏览: 79
在 PyQt5 中,我们可以使用 QPainter 对象在 QLabel 控件上绘图。以下是一个简单的示例,演示如何在 QLabel 上绘制一个矩形。
```
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QPainter, QColor
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.label = QLabel(self)
self.label.setGeometry(50, 50, 200, 200)
def paintEvent(self, event):
painter = QPainter(self.label)
painter.setPen(QColor(255, 0, 0)) # 设置画笔颜色为红色
painter.drawRect(self.label.rect()) # 绘制矩形
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
在上述代码中,我们创建了一个自定义的 QWidget 子类 MyWidget。在 MyWidget 的构造函数中,创建了一个 QLabel 控件,并设置其位置和大小。然后,我们重写了 paintEvent 方法,在该方法中创建了一个 QPainter 对象,并设置画笔颜色为红色。最后,使用 drawRect 方法绘制了一个矩形,其区域与 QLabel 控件的区域相同。运行程序后,我们将在 QLabel 上看到一个红色矩形。