我想添加一个图像作为背景,我的窗口在Tkinter Python是相互链接的按钮使用。默认情况下,当我运行代码时,我的第一个窗口会打开一个图像,当我按下按钮到另一个窗口时,它也会打开,但是当我按下后退按钮到第一个窗口时,它会给我pyimage3 does not exists
错误
tkinter.TclError: image "pyimage3" doesn't exist
我尝试了以上链接上发布的解决方案,但没有一个对我有效
from tkinter import *
def win1():
global window1
global window2
def goto2():
window1.withdraw()
win2()
window1=Tk()
window1.title('Window1')
window1.geometry('300x300')
img1=PhotoImage(file='wood.png')
l1=Label(window1,image=img1,width=160,height=300)
l1.image = img1
l1.place(x=0,y=0)
b=Button(window1,text='go to 2',command=goto2)
b.pack()
window1.mainloop()
def win2():
global window2
global window1
def goto1():
window2.withdraw()
win1()
window2=Toplevel()
window2.title('Window2')
window1.geometry('300x300')
img2=PhotoImage(file='for.png')
l2=Label(window2,image=img2,width=160,height=300)
l2.image = img2
l2.place(x=0,y=0)
b1=Button(window2,text='go to 1',command=goto1)
b1.pack()
window2.mainloop()
win1()
错误
File "/usr/lib/python3.7/tkinter/__init__.py", line 2299, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: image "pyimage3" doesn't exist
最好像马蒂诺建议的那样使用不同的方法,但是你的方法也可以做两个小的改变
首先,您不必在使用
Toplevel
时调用window2.mainloop()
第二,既然你在你的
window1
上调用了withdraw
,就用deiconify()
把它召回相关问题 更多 >
编程相关推荐