import tkinter as tk
from PIL import ImageTk, Image
root = tk.Tk()
def photogetter():
###global photo
photo= ImageTk.PhotoImage(Image.open("smiley.png").resize((320,240)))
label =tk.Label(root,image=photo)
canv.create_window((320,240),window=label)
canv = tk.Canvas(root,width=640,height=480)
canv.grid(row=0,column=0)
button = tk.Button(root,text="Button",command=photogetter)
button.grid(row=1,column=0)
root.mainloop()
除非我在函数中将photo变量声明为全局变量,否则此代码不起作用。有人可以解释一下为什么我必须将photo变量声明为全局变量吗?使用局部变量对我来说看起来更有效,但它不起作用。
冉冉说
相关分类