Seite 1 von 1

gtk.gdk.Pixbuf.render_to_drawable deprecated

Verfasst: Mittwoch 14. Mai 2008, 10:24
von bulvuy
hallo zusammen, mein erster post hier....
ich bin absoluter anfänger mit python also habt ein wenig nachsicht mit mir...

ich arbeite auf einem rhel5.1 system und habe anhand von firstboot mir ein installationsmenu gebaut das automatisch noch weitere software nach der installation installiert. ursprünglich lief das ganze unter rhel3u8 und soll jetzt eben auf rhel5.1 migriert werden. bei der installation wird python 2.4 mitinstalliert und soll auch so benutzt werden. wenn ich meine alten scripte starte kommt wie erwartet einiges an änderungen auf mich zu...unter anderem auch die im betreff genannte funktion hier ein auszug von dem code den ich umschreiben muss:

#If rhgb isn't running, then we need to draw the background
pixbuf = functions.pixbufFromPath(PIXMAP_DIR + "background.png")
if pixbuf is not None:
pixbuf = pixbuf.scale_simple(x_screen, y_screen, gtk.gdk.INTERP_BILINEAR)
bgimage = gtk.gdk.Pixmap(self.win.window, x_screen, y_screen, -1)
gc = bgimage.new_gc()
pixbuf.render_to_drawable(bgimage, gc, 0, 0, 0, 0, x_screen, y_screen, gtk.gdk.RGB_DITHER_MAX, 0, 0)
self.win.set_app_paintable(True)
self.win.window.set_back_pixmap(bgimage, False)

if not self.doDebug:
self.win.set_size_request(x_screen, y_screen)

das fettgedruckte ist die betreffende zeile...ich soll diese methode durch folgende ersetzen:
gtk.gdk.Drawable.draw_pixbuf
ich weiss aber nicht wie ich das umsetzten soll.....

tips? ratschläge?

danke im vorraus

Verfasst: Mittwoch 14. Mai 2008, 10:34
von Trundle
Die Dokumentation lesen hilft. Eine`gtk.gdk.Pixmap` erbt von `gtk.gdk.Drawable`. Also musst du einfach (ungetestet)

Code: Alles auswählen

bgimage.draw_pixbuf(None, pixbuf, 0, 0, 0, 0)
machen und eben eventuell noch die Parameter angleichen (``dither`` übergeben bei Bedarf, etc.).

Verfasst: Mittwoch 14. Mai 2008, 12:19
von bulvuy
habe auf pygtk.org viel gelesen aber bin eben nicht weitergekommen...deswegen dachte ich frage ich hier mal nach. weisst das is schon irgendwie ne standardantwort "lese mal die doku"......

aber danke für den tip...werde ich gleich mal ausprobieren und schauen ob ich weiterkomme...

Verfasst: Mittwoch 14. Mai 2008, 12:24
von bulvuy
also mit dem code hat es funktioniert....danke nochmal =)

Verfasst: Mittwoch 14. Mai 2008, 21:33
von veers
bulvuy hat geschrieben:weisst das is schon irgendwie ne standardantwort "lese mal die doku"......
Das Leute die Dokumentation nicht gelesen haben ist auch ein Standard Problem ;)

Verfasst: Donnerstag 15. Mai 2008, 10:35
von bulvuy
joar schon aber es nervt als antwort "les in der doku" oder "google doch" zu kriegen...
dann brauche ich kein forum...

Verfasst: Donnerstag 15. Mai 2008, 12:19
von Leonidas
bulvuy hat geschrieben:dann brauche ich kein forum...
Richtig, dann braucht du die Dokumenation. Ein Forum wird insbesondere nützlich, wenn du in der Dokumentation etwas nicht findest oder es ein schwierigeres Problem ist.

That said... du brauchst dich eigentlich auch gar nicht aufregen, es gar ja keiner dir etwas böses gewollt.

Verfasst: Donnerstag 15. Mai 2008, 13:10
von bulvuy
ich reg mich doch nich auf =))) hab ja n super tip gekriegt der mich weiter gebracht hat...
vergessen wir das...wir reden an einander vorbei...
alles super alles doll =)

es ging lediglich darum das man oft diesen satz kriegt und ich ihn überflüssig finde. weil ich exakt das problem hatte das mir die doku nicht weitergeholfen bzw war mir das eine oder andere nicht klar...deswegen forum =)

thats it
@ Trundle
nochmal thx für den tip....