Kein Image im Objekt
Verfasst: Montag 16. August 2010, 10:18
Hallo,
ich quäle mich mal wieder mit einem Problem. In folgendem Beispiel werden einfach keine Images angezeigt.
Warum das so ist, ist mir nicht ganz klar. Das folgende Beispiel klappt dagegen problemlos. Es muss also was damit zu tun haben, dass ich alles in ein Objekt gesteckt habe. Wo liegt der Fehler?
ich quäle mich mal wieder mit einem Problem. In folgendem Beispiel werden einfach keine Images angezeigt.
Code: Alles auswählen
import tkinter as tk
from tkinter import ttk
b_pic = b'''R0lGODlhEAAQANUiANYMDLUWFsESEtGnp+jT0+YHB8KJibt9fZs/P/cCAqtd
XcmYmP0BAeDExMwPD94KCvIEBNq4uLJsbNKpqenV1ZQxMcuamvnz89m1tffw
8Lp6eqNOTpseHu0GBvoBAf4AAIwiIv8AAP///wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACIALAAAAAAQABAAAAZz
QJFwqAGBDsNkUtMJhQTKKOfjhEiiSUCo+eFghRvPMxF6fEWB0Kei9WywzFBB
NH1i6wGRBLLVRNsbBiICal5JYSEeBYtNIQBKaU6SaolvQnEJRpqReUJ1UIdi
HX4iWgwIUQ6FIgpkZlEIDCEOQgpHXwi3QQA7'''
class App(object):
def __init__(self):
self.setup_widgets()
def write_something(self):
print("I pressed the button.")
def setup_widgets(self):
mainFrm = ttk.Frame()
mainFrm.pack(fill='both', expand=True)
img = tk.PhotoImage(data=b_pic)
infoBtn = ttk.Button(mainFrm, text="Info", command=self.write_something)
infoBtn.grid(row=0, column=0)
infoBtn['image'] = img
infoBtn['compound'] = 'left'
def main():
root = tk.Tk()
root.title("Application")
app = App()
root.mainloop()
if __name__ == "__main__":
main()
Code: Alles auswählen
import tkinter as tk
from tkinter import ttk
b_pic = b'''R0lGODlhEAAQANUiANYMDLUWFsESEtGnp+jT0+YHB8KJibt9fZs/P/cCAqtd
XcmYmP0BAeDExMwPD94KCvIEBNq4uLJsbNKpqenV1ZQxMcuamvnz89m1tffw
8Lp6eqNOTpseHu0GBvoBAf4AAIwiIv8AAP///wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACIALAAAAAAQABAAAAZz
QJFwqAGBDsNkUtMJhQTKKOfjhEiiSUCo+eFghRvPMxF6fEWB0Kei9WywzFBB
NH1i6wGRBLLVRNsbBiICal5JYSEeBYtNIQBKaU6SaolvQnEJRpqReUJ1UIdi
HX4iWgwIUQ6FIgpkZlEIDCEOQgpHXwi3QQA7'''
def write_something():
print("I pressed the button.")
root = tk.Tk()
root.title("Application")
mainFrm = ttk.Frame()
mainFrm.pack(fill='both', expand=True)
img = tk.PhotoImage(data=b_pic)
infoBtn = ttk.Button(mainFrm, text="Info", command=write_something)
infoBtn.grid(row=0, column=0)
infoBtn['image'] = img
infoBtn['compound'] = 'left'
root.mainloop()