Tkinter pyimage不存在----image “pyimage10” doesn’t exist
运行环境:Spyder(python3.7)或者jupyter notebook
运行例程:
import tkinter as tk
window = tk.Tk()
window.title('my window')
window.geometry('200x200')
canvas = tk.Canvas(window, bg='blue', height=100, width=200)
image_file = tk.PhotoImage(file='ins.gif')
image = canvas.create_image(10, 10, anchor='nw', image=image_file)
x0, y0, x1, y1= 50, 50, 80, 80
line = canvas.create_line(x0, y0, x1, y1)
oval = canvas.create_oval(x0, y0, x1, y1, fill='red')
arc = canvas.create_arc(x0+30, y0+30, x1+30, y1+30, start=0, extent=180)
rect = canvas.create_rectangle(100, 30, 100+20, 30+20)
canvas.pack()
def moveit():
canvas.move(rect, 0, 2)
b = tk.Button(window, text='move', command=moveit).pack()
window.mainloop()
预期输出:
实际输出:image “pyimage10” doesn’t exist
出于某种原因,在调试器中运行时,如果任何先前的执行抛出错误,会得到“pyimage不存在”错误。 但是,如果我重新启动调试器(或者以前没有执行的脚本抛出错误),那么程序运行正常。
所以解决办法:重启Spyder或者jupyter notebook。