#1 Le 28/02/2010, à 18:53
- smo
Défi pygtk, screenshot d un widget non affiche et retourner un pixbuf
hello
tout est dans le titre
j ai une combobox, dans cette combobox j ai une liste de theme gtk liees a leur gtkrc etc
quand j en selectionne une, j appel depuis mon programme principale ce script python qui cree le widget, l affiche et genere une image
je reprend ensuite dans mon code principal et genere le pixbuf de cette meme image
ce que je voudrais c est, ne pas afficher ce widget, executer tout ca en interne et que ca me retourne direct un pixbuf simplement
le code actuel:
# Copyright 2009 David D Lowe
# released under the GPL v3
import gtk
import os
import sys
from functions import _
target_img = sys.argv[1]
gtkrc = sys.argv[2]
def gtk_generate(target_img, gtkrc):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("destroy", lambda widget: sys.exit(1))
window.resize(100, 35)
window.set_property("skip-pager-hint", True)
window.set_property("skip-taskbar-hint", True)
hbox = gtk.HBox()
window.add(hbox)
button = gtk.Button()
button.set_label(_("Button"))
hbox.pack_start(button)
chkbox = gtk.CheckButton()
chkbox.set_active(True)
hbox.pack_end(chkbox, False)
radiobox = gtk.RadioButton()
hbox.pack_end(radiobox, False)
#window.realize()
take_screenshot(hbox, target_img)
sys.exit(0)
def take_screenshot(widg, target_img):
print widg
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,1,8,100,34)
pm = widg.get_snapshot(None)
pb = pb.get_from_drawable(pm, pm.get_colormap(), 0, 0, 0, 0, 100, 34)
if pb is not None:
pb.save(target_img, "png")
else:
print >> sys.stderr, "Error getting image"
sys.exit(3)
####################
gtk_generate(target_img, gtkrc)
j ai discute avec les dev de gtk+ hier, un nouveau widget sera dispo des la version 2.20 qu ets en gros comme un gtk.window mais qu on a pas besoin d afficher
avec des methodes pour obtnir un pixbuf ou pixmap pepere
voila comment on peux faire ca en python actuellement en gros...
defi!!!
++
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne