Desenhando uma linha que consiste em vários pontos usando o PyQt
Eu quero desenhar uma linha que consiste em vários pontos através do clique do mouse em um script Python usando PyQt. Preciso de todas as coordenadas dos ponts e quero poder deletar a linha. Aqui está meu script fazendo todo o trabalho, exceto pelo próprio desenho gráfico, ele apenas imprime o que ele faz:
#!/usr/bin/python3
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class endomess(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.draw = False
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
if self.draw == False:
print('Starting to draw at', str(event.pos()))
self.draw = True
self.linePoints = []
elif self.draw == True:
print('Appending', str(event.pos()))
self.linePoints.append(event.pos())
elif event.button() == Qt.RightButton:
if self.draw == True:
print('Finished drawing. List of all points:', str(self.linePoints))
self.draw = False
def main(argv):
app = QApplication(argv, True)
wnd = endomess()
wnd.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main(sys.argv)
Então, aqui está o meu problema: como posso realmente desenhar essa linha que pode ser definida através do script acima? Eu já dei uma olhada no scribble.py e em alguns documentos de pintura do Qt, mas não entendi. Provavelmente, isso não é um problema para alguém mais experiente com o Qt?
Agradecemos antecipadamente por toda ajuda!