使用PyQt在图像上绘制线条

时间:2017-04-21 14:49:29

标签: python drawing pyqt4 mouseevent

我想创建一个python脚本来显示图像,然后最终用户可以通过单击两个点在该图像上绘制一个箭头。

我希望该行为箭头,并在鼠标指针之后显示该行,直到用户第二次单击。

使用Python3,PyQt4,Ubuntu。

提前致谢

1 个答案:

答案 0 :(得分:1)

使用paintEvent和QPainter:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(30, 30, 500, 300)

    def paintEvent(self, event):
        painter = QPainter(self)
        pixmap = QPixmap("myPic.png")
        painter.drawPixmap(self.rect(), pixmap)
        pen = QPen(Qt.red, 3)
        painter.setPen(pen)
        painter.drawLine(10, 10, self.rect().width() -10 , 10)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())