ボタンがあり、画像 (.gif) を表示する非常に単純な GUI を作成しました。私の目標は、ボタンを押すたびに別の .gif を出力することです。私のファイル ディレクトリには 2 つの .gif ファイルがあり、ポイントは、ボタンを押すたびにこれら 2 つのファイルを切り替え続けることです。
#Using python2.7.2
import Tkinter
root = Tkinter.Tk()
try:
n
except:
n = 0
def showphoto(par):
if par%2 == 0:
try:
label2.destroy()
except:
pass
photo = Tkinter.PhotoImage(file="masc.gif")
label2 = Tkinter.Label(image=photo)
label2.image = photo
label2.pack()
else:
try:
label2.destroy()
except:
pass
photo = Tkinter.PhotoImage(file="123.gif")
label2 = Tkinter.Label(image=photo)
label2.image = photo
label2.pack()
myContainer1 = Tkinter.Frame(root, width = 100, height = 100)
myContainer1.pack()
def callback(event):
global n
showphoto(n)
n = n + 1
button1 = Tkinter.Button(myContainer1)
button1["text"]= "Next pic"
button1["background"] = "green"
button1.bind("<Button-1>", callback(n))
button1.pack()
root.mainloop()
現在のコードは最初の画像 ( masc.gif
) を出力するだけですが、ボタンを押しても他の画像 ( ) に切り替わりません123.gif
。私は何を間違っていますか?