aufruf von QPainter.end() zu vermeiden?

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

abend,

ich mache mir aus einem pixmap ein painter und übergebe diesen dann dem paint-handler eines QGraphicItems. ich bekomme folgende fehlermeldung:

Code: Alles auswählen

QPaintDevice: Cannot destroy paint device that is being painted.  Be sure to QPainter::end() painters!
aus der doku:
bool QPainter.end (self)

Ends painting. Any resources used while painting are released. You don't normally need to call this since it is called by the destructor.
painter.end() löst das problem auch:

Code: Alles auswählen

pixmap = QtGui.QPixmap(250, 250)
pixmap.fill(QtCore.Qt.transparent)
pixmap_painter = QPainter(pixmap)
item.paint(pixmap_painter, None, None)
pixmap_painter.end() #warum ist das hier notwendig?
meine frage ist jetzt, ob ich irgendwelchen murks gemacht habe, oder das in diesem fall nicht anders geht.
http://www.kinderpornos.info
Antworten