Beim näher kennenlernen von GTK+ habe ich folgende Frage. Ist es auch mit pygtk möglich ein Base64-Bild aus einer Konstante 'PYTHON_AT_WORK_48' auf eine Schaltfläche zu projizieren. Als Versuchsskript verwende ich:
Code: Alles auswählen
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
PYTHON_AT_WORK_48 =\
'''
R0lGODlhMAAwAPcAADladTldfE9PT19fX0NjfFVsfmRkZG5ubXRwbWNtdnNz
c3t4dXR3eXx8fP+7G/+9I//DJP/EK//KLf/FMv/LNP/FPv/OOv/SNf/TPYWB
fv/FQf/MRf/NS//VQ//ZRf/STP/cS//IUf/WVf/aVP/TWP/eWv/iTP/jVP/q
Vv/lWv/qW//VZ//eYf/Va//eaf/Wdv/dc//Wff/iY//tYP/pbP/jdf/tc//l
ff/pe//xdv/xeCpbgjdfgDZhhTplhjNljTlnjD1pizRnkDRqlTxtlDRtmzpv
mj9wlzdwnT5ynDFvoS1zqzJxpTx1pDJ0qTt3qDt5qy53sjl8szB8ukJmg0No
hkJqi09uiE9xjVp2jUBuk0hzlUF0n1l3kVx4klF6nVl9nGV8j2h9jnl9gUN2
oUV5o0l7okR+rER/sDiBvGeGn3yKlXKJnlWBpV6EolSEq1mGqleIr0iIvFaJ
s3OPpnSTrm6Zu3OXs3KZuXicuD2IxTiIyEeLwU6MwFuh2Gygyn6kxX2nymqj
0oODg42Kh4WGiIyMjJOTk5mWlJubm6GdmpGeqZ+goKSkpKurq7Owraqxt6Kx
v7Ozs7y8vP/dhP/ci//ekf/fmP/zif/hl//inP/snsLAv//nqv/rq//yo//2
rP/4r//us/bquv/xsf/9tf/wuf//uYemwJewxJ61x5uyzY6z0JK10Ju10Z+8
1py+2aW1xKa4xqKzyaG5y6i5y6O806C/2J/B3qnB1aLC3arE2a7I3bfH07fI
17/P17bK2bzO267O6b/S4MTExMDJyszMzNDLx9TU1NnV0dzc3ODb2P/swvby
xv/xzP/4zP/z1MXV6Mrb6tHd7szh8eTk5ODm6uXp7Ozs7PDv7v/35f/45vHw
7//87OTm8ent8+Xs+uju+uvw9Ozz+/Pz8//98/P2+fT9//39/QAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAACH5BAEAAOkALAAAAAAwADAAAAj+ANMJHEiwoMGD
CBMqXMiwIUJk5tBJNBcxYrmJEsmRw1YNmUdjDhVWM6cMmbJyG7lpxIaNGzpz
LKspM0ZTWbKQCKuRG8jtmzKW16ot08lRpsdJk65dQ4bTYLVyA8mhpDiRJceS
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
Ow==
'''
class Base64Image:
def __init__(self, app_win, callback):
button_frame = gtk.VBox()
button_frame.show()
app_win.add(button_frame)
image = gtk.Image()
image.set_from_file("python_at_work_48.gif") # Als Base64-Konstante ??
image.show()
button = gtk.Button()
button.add(image)
button.show()
button_frame.pack_start(button)
button.connect("clicked", callback, "Button activated")
def main():
gtk.main()
return 0
def exit_app(widget, event, data=None):
gtk.main_quit()
return False
if __name__ == "__main__":
app_win = gtk.Window(gtk.WINDOW_TOPLEVEL)
app_win.connect("delete_event", exit_app)
app_win.set_border_width(10)
app_win.show()
Base64Image(app_win, exit_app)
main()
Gruß wuf