【发布时间】:2017-11-19 15:31:01
【问题描述】:
为什么我的 Tkinter 图像不起作用?它在同一个目录中,所有命令都是正确的,但我得到了错误:
_tkinter.TclError:图像“pyimage1”不存在。
怎么了?
fertig=tkinter.Tk()
fertig.title("Window")
text=tkinter.Label(fertig,text="Success")
text.pack()
w = tkinter.PhotoImage(file="/Users/Hannes/Desktop/Spambot/successful.gif ")
w = tkinter.label(fertig,image=w)
w.pack()
knapp=tkinter.Button(fertig,text="Ok",command=lambda:close())
knapp.pack()
knapp.mainloop()
【问题讨论】:
-
好像找不到你的图片文件。我刚刚注意到
"/Users/Hannes/Desktop/Spambot/successful.gif "的末尾有一个空格字符——也许这就是问题所在(假设文件确实存在)。另外,尝试删除file=部分,只需将路径字符串作为常规位置参数传递。 -
但是 tkinter 不需要 file= 吗?
-
我不清楚。看在上帝的份上,试试吧……
-
如果你的脚本和图片在同一目录下,你可以使用
tkinter.PhotoImage(file="successful.gif ")。使用相对路径而不是绝对路径可能是可取的,因为您可以在没有完全相同目录结构的不同机器上运行代码(或作为除 Hannes 之外的用户)。 -
您发布的代码不可能给出您所说的错误,因为第六行有语法错误。您还有一个问题,即您的文件名以空格结尾,虽然在 linux 上可能,但极不可能是实际名称。当我解决这两个问题时,您的代码对我来说很好。
标签: python python-3.x tkinter