Pseud O'Nym wrote: > the following fragment doesn't cause any errors and results in buttons the > correct size for the images, but the buttons don't work, and the images > aren't displayed. If I add a text property, and remove the images, they > work fine, so the rest of my code's OK. I've searched this group and > Python.org to no avail. > > class App: > def __init__(self, master): > frame = Frame(master) > frame.pack(side=LEFT, fill=Y) > image1 = PhotoImage(file='button_a.gif') > self.button = Button(frame, image=image1) > self.button.pack(side=TOP)
self.image = image1 > Can anyone enlighten me? For reasons that are beyond me widgets do not increase the reference count of a PhotoImage. Therefore you have to put a reference to the image elsewhere, e. g. into the App instance, to prevent it from being garbage-collected when the image1 variable goes out of scope. Peter -- http://mail.python.org/mailman/listinfo/python-list