Hallo,
wie wird richtig ein .svg Grafik als Hintergrung in eine QMainWindow Anwendung eingebunden.
Momentan mache ich es so, die .svg in eine .png gewandelt, die .png Datei in der .qrc angegeben, dann diese gewandelt in eine Pythondatei mit pyrcc4, und die wird dann Importiert in das Hauptprogramm.
Geht das nicht einfacher? Bei Google habe ich nichts brauchbares gefunden.
Es handelt sich um dieses Projekt:
https://github.com/MarkusHackspacher/py ... ster/lotto
SVG als Hintergrundbild von QMainWindow
Habe es gemacht, aber bekomme die Fehlermeldung
QPaintDevice: Cannot destroy paint device that is being painted
QPaintDevice: Cannot destroy paint device that is being painted
self.mainWindowPixmap = QtSvg.QSvgRenderer(join("lotto", "lottokugel.svg"))
img = QtGui.QImage(480, 320, QtGui.QImage.Format_ARGB32)
img.fill(0)
painter = QtGui.QPainter(img)
self.mainWindowPixmap.render(painter)
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
<offtopic>
Hui, da fühle ich mich ja fast ein wenig geehrt
(Wobei der Contributor mal auf mein Tutorial hätte verweisen können - damit der Sinn dahinter klar wird )
</offtopic>
Hui, da fühle ich mich ja fast ein wenig geehrt
(Wobei der Contributor mal auf mein Tutorial hätte verweisen können - damit der Sinn dahinter klar wird )
</offtopic>
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Um den Fehler besser nachvollziehen zu können habe ich einen extra branch bei Github mit meinem Änderungen gemacht:
https://github.com/MarkusHackspacher/py ... ound/lotto
Die Zeilen im Post oben sind an dieser Stelle:
https://github.com/MarkusHackspacher/py ... py#L47-L51
https://github.com/MarkusHackspacher/py ... ound/lotto
Die Zeilen im Post oben sind an dieser Stelle:
https://github.com/MarkusHackspacher/py ... py#L47-L51