pyqt5在label上打开的图片中画线
时间: 2023-12-23 15:03:05 浏览: 187
要在PyQt5中的标签上画线,可以使用标签的paintEvent事件。以下是一个示例代码,它在标签上绘制一条红色线条:
```
from PyQt5.QtGui import QPainter, QPen
from PyQt5.QtWidgets import QApplication, QLabel, QWidget
from PyQt5.QtCore import Qt, QPoint
class MyLabel(QLabel):
def __init__(self, parent=None):
super(MyLabel, self).__init__(parent)
def paintEvent(self, event):
super(MyLabel, self).paintEvent(event)
painter = QPainter(self)
painter.setPen(QPen(Qt.red, 2, Qt.SolidLine))
painter.drawLine(QPoint(0, self.height()), QPoint(self.width(), 0))
if __name__ == '__main__':
app = QApplication([])
window = QWidget()
label = MyLabel(window)
label.setPixmap(QPixmap("image.png"))
window.show()
app.exec_()
```
在这个示例中,我们在MyLabel类中定义了paintEvent函数。这个函数使用QPainter对象在标签上绘制一条红色线条。我们还可以使用其他QPainter函数来绘制其他图形,例如矩形、椭圆、文本等。最后,我们将MyLabel对象添加到QWidget中,并显示它。
阅读全文