pyqt 根据矩形框的左上角的坐标和右下角的坐标在label图像上显示矩形
时间: 2024-03-12 22:44:01 浏览: 203
QT 在label上显示图片并话矩形
4星 · 用户满意度95%
可以使用PyQt的QPainter和QPen来在QLabel上绘制矩形。以下是一个示例代码:
```python
from PyQt5.QtGui import QPainter, QPen
from PyQt5.QtCore import Qt
# 定义矩形坐标
x1, y1 = 100, 100
x2, y2 = 200, 200
# 在QLabel上绘制矩形
def draw_rectangle_on_label(label, x1, y1, x2, y2):
# 获取QPixmap对象
pixmap = label.pixmap()
# 创建QPainter对象
painter = QPainter()
painter.begin(pixmap)
# 创建QPen对象
pen = QPen(Qt.red)
pen.setWidth(2)
painter.setPen(pen)
# 绘制矩形
painter.drawRect(x1, y1, x2 - x1, y2 - y1)
# 结束绘制
painter.end()
# 在QLabel上显示绘制的图像
label.setPixmap(pixmap)
# 调用函数绘制矩形
draw_rectangle_on_label(label, x1, y1, x2, y2)
```
在上面的代码中,我们首先定义了矩形的坐标。然后,创建了一个名为`draw_rectangle_on_label`的函数,该函数接受一个QLabel对象和矩形的四个坐标参数。该函数获取QPixmap对象,并使用QPainter和QPen对象在其上绘制矩形。最后,将绘制的图像设置为QLabel的Pixmap并显示出来。
你可以将上面的代码嵌入到你的PyQt应用程序中,然后将QLabel对象和矩形的坐标作为参数传递给`draw_rectangle_on_label()`函数,以在QLabel上显示矩形。
阅读全文