'image'pyimage2"不存在"?

use*_*327 3 python tkinter

这是发现错误的地方:

global backbuttonimg
backbuttonimg = PhotoImage(file="backbutton.gif")
C6 = tkinter.Button(W_CheckDates, image=backbuttonimg, command = CheckDatesBack)
C6.pack()
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这不起作用.我的程序中有另一张图片:

def Login():
  global W_Menu
  W_Menu = Tk()
  W_Menu.geometry('160x310+600+200')
  W_Menu.title("NSS DB")
  A0 = Canvas(W_Menu, width='160', height='160')
  A0.pack()
  global img
  img = PhotoImage(file="nsslogo.gif")
  A0.create_image(80,80, image=img)
Run Code Online (Sandbox Code Playgroud)

我在最初调用之后尝试调用上面的定义时也会出现类似的错误(例如,当我的程序退出时),所以我已经重新调整,因此窗口只是取消图像化而不是再次调用它,我没有得到再次出错.但是我很困惑为什么我现在的代码前一部分出现错误,因为按钮根本不会显示它是否第一次被调用.对不起,如果这有点模糊,请询问我是否有足够的细节解释.提前致谢.

PS我看过其他类似问题的线程,但没有一个适用于我.

W1l*_*mvl 9

好的,所以你说这个login功能工作一次,然后它再也无法工作了.这里的问题可以用tk.Toplevel()而不是tk.Tk()看看来解决:为什么python photoimages不存在?tkinter.TclError:图像"pyimage3"不存在

这些线程提到你不能Tk()同时运行两个实例,你必须使用它Toplevel().

为什么这些线程不适用于你(我认为他们......)?但只是一个提示,如果你声明它们不适用于你,那么说明理由,这有助于使你的问题更清楚.此外,当您的问题与特定错误有关时,请添加完整的回溯.

希望这个对你有帮助.