将图像添加到实验室时出现“TclError:image”

2024-04-25 05:44:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试添加一个图片到我的TkinterGUI和谷歌似乎没有给出答案。我知道我不应该在同一个主窗口中使用网格或打包gemoetry管理器,而且据我所知,我没有这样做,但每次尝试都会导致以下错误消息之一:

TclError: cannot use geometry manager grid inside . which already has slaves managed by pack

或:

TclError: image "pyimage86" doesn't exist

顺便说一句,每次我重新运行代码时,“pyimage86”都会更改,每次运行都会将数字增加1,例如“pyimage86”、“pyimage87”等

第一条错误消息特别令人困惑,因为我使用.grid将带标签的图像放置到类中,但错误说明不是这样的?(示例代码不在类中,我知道)

我尝试了不同的图像,并将原始图像转换为.TIF、.JNP、.PNG、.GIF,但都没有给出结果。我还删除了Alpha通道(很明显,在使用图片k.PhotoImage但没有帮助)。我也转换成grasyscale图像作为最后的尝试,但没有运气。你知道吗

import tkinter as tk          
import PIL.Image
import PIL.ImageTk



root = tk.Tk()

image = Image.open("TemplateRack_GUI.png")
photo = ImageTk.PhotoImage(image)       

label = tk.Label(image=photo)
label.image = photo 
label.grid(row=5, column=5)


root.mainloop()   

Tags: 代码图像imageimport消息pil错误图片
1条回答
网友
1楼 · 发布于 2024-04-25 05:44:42

你说你的程序有时会给你:

TclError:无法使用内部已由pack管理从属的geometry manager网格。你知道吗

有时:

错误:图像“pyimage86”不存在。你知道吗

我不敢相信!

此外,你还说“我知道我不应该在同一个类中使用网格或打包gemoetry管理器”

你说的是哪门课?你知道吗

Tkinter docs说:不要在同一主窗口中混合网格和包。 请再次检查您的代码,因为您使用的是包和网格。你知道吗

相关问题 更多 >