python - 使用 PyQt 在图像上画线

标签 python drawing pyqt4 mouseevent

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

我希望这条线是一个箭头,并显示它跟随鼠标指针,直到用户第二次单击。

使用 Python3、PyQt4、Ubuntu。

提前致谢

最佳答案

使用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_())

关于python - 使用 PyQt 在图像上画线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43545712/

相关文章:

python - 将 docker 输出文件保存在 workdir 中

python - Python中softmax函数的导数

actionscript-3 - Actionscript 徒手绘图类不起作用

java - 如何在三角形上填充颜色

database - 有没有比visio更漂亮的数据库绘图软件?

python - 来自 MouseReleaseEvent 的信号

python - PyQt4 - 使用 QItemDelegate 在 QListView 中显示小部件

python - 从二维数组中删除数组

python - 使用 CNN+LSTM 模型和 TimeDistributed 层包装器进行 Keras 时间序列预测

QT 嵌套小部件框模型行为