我一直在尝试添加一个图片到我的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()
你说你的程序有时会给你:
TclError:无法使用内部已由pack管理从属的geometry manager网格。你知道吗
有时:
错误:图像“pyimage86”不存在。你知道吗
我不敢相信!
此外,你还说“我知道我不应该在同一个类中使用网格或打包gemoetry管理器”
你说的是哪门课?你知道吗
Tkinter docs说:不要在同一主窗口中混合网格和包。 请再次检查您的代码,因为您使用的是包和网格。你知道吗
相关问题 更多 >
编程相关推荐