在QLabel上画矩形框
时间: 2024-05-13 17:17:49 浏览: 228
要在QLabel上画矩形框,可以通过以下步骤实现:
1. 继承QLabel类,并重写其paintEvent函数,在该函数中绘制矩形框。
```
class MyLabel(QLabel):
def paintEvent(self, event):
super().paintEvent(event)
painter = QPainter(self)
painter.setPen(QPen(Qt.red, 2, Qt.SolidLine))
painter.drawRect(10, 10, 50, 50)
```
2. 在主窗口中创建MyLabel对象,并将其添加到布局中。
```
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setObjectName("MainWindow")
self.resize(800, 600)
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
layout = QVBoxLayout(central_widget)
label = MyLabel(central_widget)
layout.addWidget(label)
```
其中,painter.setPen(QPen(Qt.red, 2, Qt.SolidLine))设置画笔颜色为红色,线宽为2,线型为实线;painter.drawRect(10, 10, 50, 50)绘制左上角坐标为(10, 10),宽高为50的矩形框。你可以根据需要修改这些参数。
阅读全文