我一直收到错误,TclError:图片“pyimage8”不存在。 奇怪的是,每次运行它的数量都会增加?
我正在使用spyder运行python,dunno这是否会影响任何事情。 这是我的代码
#import the modules we need, for creating a GUI
import Tkinter as tk
from PIL import ImageTk, Image
homescreenImage = PhotoImage(file="Homescreen.gif")
#create a GUI window.
root = Tk()
#set the title.
root.title("Welcome to the Pit!")
#set the size.
root.geometry("1100x700")
homescreenFrame = tk.Frame(root, width=1100, height = 700,)
homescreenFrame.pack()
homescreenLabel = tk.Label(homescreenFrame, image=homescreenImage)
homescreenLabel.pack()
#start the GUI
root.mainloop()
答案 0 :(得分:1)
我发现我的脚本将运行一次,然后在后续运行中给我一个错误。如果重新启动控制台,它将再次运行。我通过在脚本开头使用以下代码解决了该问题:
import sys
if "Tkinter" not in sys.modules:
from Tkinter import *
现在每次都可以使用。
答案 1 :(得分:0)
如果你import Tkinter as tk
,你应该在调用tk时使用别名tk,例如。 root = tk.Tk()
。否则Python将找不到Tk。
您不需要为此导入PIL
。
在创建Tk之前,您无法创建Photoimage。
试试这个:
import Tkinter as tk
root = tk.Tk()
root.title("Welcome to the Pit!")
root.geometry("1100x700")
homescreenImage = tk.PhotoImage(file="Homescreen.gif")
homescreenFrame = tk.Frame(root, width=1100, height = 700,)
homescreenFrame.pack()
homescreenLabel = tk.Label(homescreenFrame, image=homescreenImage)
homescreenLabel.pack()
root.mainloop()
善待并将整个错误消息粘贴到您的问题中。
答案 2 :(得分:0)
以下可能是错误:
1)给出文件名的完整路径 例如:" /home/user/Homescreen.gif"
2)如果您使用的是Windows而上述方法不起作用: 使用" \\ C:\\ home \\ Homescreen.gif" (这是因为,窗户感到困惑)
3)如果那也不起作用,请确保你的python目录 程序与图像的程序相同。
4)此外,仅在创建根之后才创建photoimage 窗口。
5)由于某种原因,在调试器中运行时,如果有的话 执行已经抛出错误我得到了#34; pyimage不存在"错误。 但是,如果我重新启动调试器(或者以前没有执行过脚本) 抛出错误),然后程序运行正常。
6)另外,不要导入PIL,不需要它。
尝试以上所有内容,如果它没有工作让我知道。 希望这会有所帮助。
答案 3 :(得分:0)
就我而言,这是因为我忘记保留对图像的引用。创建标签后尝试添加此行:
homescreenLabel.image=homescreenImage.
答案 4 :(得分:0)
我认为这可能是由于:
tkinter 只支持 .png
格式的图片
但是,还有其他方法可以添加 .gif`` instead of
PhotoImage```