Simpelstes Zeichnen in einem graphicsView

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
macmallow
User
Beiträge: 14
Registriert: Dienstag 12. Mai 2009, 17:31

Hallo, ich versuch mich grad ein bisschen in PyQt und möchte einfach in ein graphicsView eine Linie zeichnen, zu testzwecken..
Leider komm ich da nicht weiter.. Kann mir wer bitte einen Tip geben ? Danke!

Code: Alles auswählen

g = self.ui.graphicsView
                painter = QtGui.QPainter()
                painter.setPen(self.pen) 
                painter.setBrush(self.brush) 
                painter.drawLine(10, 10, 20, 20)
                g.drawForeground(painter, QtCore.QRectF(QtCore.QPointF(10.0,10.0),QtCore.QPointF(40.0,40.0)))
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Laut Doku musst Du dem `QPainter` als Parent ein Objekt vom Typ `QPaintDevice` übergeben - k.A. ob Dein `self.ui.graphicsView` dieses Kriterium erfüllt.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
lunar

@macmallow: Mit Verlaub, lies die Dokumentation zu "QGraphicsView". Auf solche Objekte zeichnet man nicht mit "QPainter", sondern über eine "QGraphicsScene", und oh Wunder, diese Klasse hat doch tatsächlich eine ".addLine()"-Methode.
Antworten