2017-04-21 5 views
0

나는 이미지를 보여주는 파이썬 스크립트를 만들고 나서 최종 사용자는 두 점을 클릭하여이 이미지 위에 화살표를 그릴 수 있습니다.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

감사합니다 !!! Ok, 이해했다.. 그러나 단지 1 개의 물건. 나는 더 큰 프로그램을 쓰고 있는데, 여기서 사용자는 자신이 선/화살표를 그려야한다. 사용자가 시작점을 클릭 한 다음 "벡터"선의 끝점을 클릭합니다. 사용자와 나란히 메커니즘을 제공하여 프로그램의 실제 작업에 대한 피드백을 제공하고자합니다. 나는 countinously 마우스 포인터 좌표를 따르는 선을 그리고 두 번째 클릭 할 때 영구적으로 이미지 위에 그리는 줄 알았는데. (달성하고 싶은 것을 이해하기 위해, 선을 그리는 동안 MS 그림판에 대해 생각해보십시오 ...) – f126ck