在写project2时遇到的问题:
定义了一个用于播放gif的函数:
def xianshi():
root = tk.Tk()
gif = imageio.mimread('一维波动方程.gif')
gif_tk = [ImageTk.PhotoImage(Image.fromarray(img)) for img in gif]
def play_gif(frame):
label.config(image=gif_tk[frame])
root.after(50, play_gif, (frame+1)%len(gif_tk))
label = tk.Label(root)
label.pack()
play_gif(0)
tk.Button(root,text='另存为',command=print('baocun')).pack()
root.mainloop()
当函数独立运行时,可以正常解析gif文件并播放,如下图

但是当我将这个函数与我前面所写代码里建立的一个tk窗口里的一个按钮相连时,按下按钮却会报错,如下图:

按钮的代码为tk.Button(text='查看图像',font=('Times',20,'bold'),command=xianshi)
报错显示‘_tkinter.TclError: image "pyimage1" doesn't exist’但是当我再次独立运行此函数时,却依然可以正常运行,只有在与按钮相连后,按下按钮会报错。
尝试了非常多的方法都会报这个错误,该如何解决?