Tkinter: button image not displayed!?

Tomasz Lisowski lisowski.tomasz at sssa.NOSPAM.com.pl
Tue Jan 30 09:00:17 EST 2001


Hi,

I try to get familiar with the Tkinter GUI. In the following piece of code I
try to load two GIF images as button pictures. The result is, that the
buttons are displayed, but without pictures, and are not working (pressing
them does nothing!).The picture files names, and their path are correct. I
am using Python 2.0 on Windows NT. I would be grateful for any hints ...

from Tkinter import *

master = Tk()

def f():
   print "Called!"

Label(master, text="X min:").grid(row=0, column=0, sticky=E)
x_min = Entry(master, width=20)
x_min.grid(row=0, column=1)
Label(master, text="X max:").grid(row=0, column=2, sticky=E)
x_max = Entry(master, width=20)
x_max.grid(row=0, column=3)

Label(master, text="Y min:").grid(row=1, column=0, sticky=E)
y_min = Entry(master, width=20, state=DISABLED)
y_min.grid(row=1, column=1)
Label(master, text="Y max:").grid(row=1, column=2, sticky=E)
y_max = Entry(master, width=20, state=DISABLED)
y_max.grid(row=1, column=3)

fr = Frame(master)
Button(fr, text="Draw", width=7, command=f).grid(row=0, column=0, padx=2)
zi = Button(fr, text="Zoom in", width=7, command=f)
zi.grid(row=0, column=1, padx=2)
Button(fr, text="Scale", width=7, command=f).grid(row=0, column=2, padx=2)

## ------  the problem  lies somewhere below -------
Button(fr, image=PhotoImage(file="H:\\Back.gif", master=fr), command =
f).grid(row=0, column=3, padx=2)
Button(fr, text="Add", width=7, command=f).grid(row=1, column=0, padx=2)
Button(fr, text="Walk", width=7, command=f).grid(row=1, column=1, padx=2)
Button(fr, text="Exit", width=7, command=master.destroy).grid(row=1,
column=2, padx=2)
Button(fr, image=PhotoImage(file="H:\\Forward.gif", master=fr), command =
f).grid(row=1, column=3, padx=2)
fr.grid(row=0, column=4, rowspan=2, sticky=E, pady=4)

master.mainloop()

Thanks in advance

Tomasz Lisowski






More information about the Python-list mailing list