2017-04-21 1430 views
0

我想製作一個python腳本,在其中顯示圖像,然後最終用戶可以通過單擊兩點在該圖像上繪製箭頭。用PyQt在圖像上繪製線條

我希望該行是一個箭頭,並將其顯示在鼠標指針後面,直到用戶第二次點擊。

使用Python3,PyQt4,Ubuntu。

在此先感謝

回答

0

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

謝謝!它適用於我,需要修改圖像上的鼠標座標。最後一件事......我如何在一端畫箭頭形狀?因爲我的目標是繪製箭頭:) – f126ck

+0

我建議只在該行的末尾畫一個三角形@ f126ck – Veltro

+0

謝謝!好吧,理解..但只是一件事。我正在編寫一個更大的程序,提示用戶自行繪製線條/箭頭。用戶單擊起點,然後單擊「矢量」行的結束點。我想提供一種機制,用戶正在繪製,以便向他們反饋有關程序的實際工作情況。我想到了在鼠標指針座標之後畫線,並在第二次點擊時將它永久繪製在圖像上。 (爲了理解我想實現的目標,在繪製一條線時想想MS Paint ...) – f126ck