Rysowanie linii składającej się z wielu punktów za pomocą PyQt
Chcę narysować linię składającą się z wielu punktów, klikając myszką w skrypcie Pythona przy użyciu PyQt. Potrzebuję wszystkich współrzędnych mostów i chcę móc usunąć linię. Oto mój skrypt wykonujący całą pracę, z wyjątkiem samego rysowania linii graficznej, po prostu drukuje to, co robi:
#!/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)
Oto mój problem: jak właściwie narysować tę linię, którą można zdefiniować za pomocą powyższego skryptu? Spojrzałem już na scribble.py i niektóre dokumenty do malowania Qt, ale tego nie rozumiem. Prawdopodobnie nie jest to problem dla kogoś bardziej doświadczonego w Qt?
Z góry dziękuję za wszelką pomoc!