Python 不确定如何在Tkinter中设置背景图像

Python 不确定如何在Tkinter中设置背景图像,python,tkinter,Python,Tkinter,在我开始之前我知道有一篇关于我的问题的帖子, 然而,这对我并没有什么帮助,即使在帖子上给出了答案之后,我似乎仍然遇到了问题 我似乎有两个不同的“错误” 一个错误,显示图像文件不可读。这是在使用此代码时给出的(这是另一篇文章给出的有效答案): 另一个“错误”是,当使用以下代码时,不会显示图像,但不会给出真正的错误消息: self.background_image = tk.PhotoImage(r'C:/hazuki-gui/resources/background1.png') self.bac

在我开始之前我知道有一篇关于我的问题的帖子, 然而,这对我并没有什么帮助,即使在帖子上给出了答案之后,我似乎仍然遇到了问题

我似乎有两个不同的“错误”

一个错误,显示图像文件不可读。这是在使用此代码时给出的(这是另一篇文章给出的有效答案):

另一个“错误”是,当使用以下代码时,不会显示图像,但不会给出真正的错误消息:

self.background_image = tk.PhotoImage(r'C:/hazuki-gui/resources/background1.png')
self.background_label = tk.Label(image=self.background_image)
self.background_label.place(x=0,y=0)
我环顾四周,一切都显示了我在上面所展示的第一种方式。 我尝试过使用
png
jpg
图像,但在这两种情况下都返回相同的结果

任何有关这方面的帮助都将不胜感激


旁注:如果Python2.7和Python3.x在如何实现这一点上有任何不同,请让我知道(目前我正在使用Python2.7,但将把它移到3.x)

可能您的图像是垃圾收集的,因为没有对您的图像的引用

self.background_image = tk.PhotoImage(file=r'C:/hazuki-gui/resources/background1.png')
self.background_label = tk.Label(image=self.background_image)
self.background_label.place(x=0,y=0)
self.background_label.img = self.background_image #try to add this

PhotoImage()
不支持PNG或JPG文件!GIF是它唯一支持的通用格式。使用PIL/Pillow模块加载其他类型的图像。我明白了,我被这搞糊涂了,我还注意到了
Image()
函数?我知道这与我的问题无关,但这有什么用呢?因为
PhotoImage()
用于gif文件。@NaruS当前版本的python支持
png
。但是,根据
PhotoImage类,2.7可以读取GIF和PGM/PPM图像
。如果你想为图像支持更多的文件类型,你应该查看PILLOW/PIL。你在第二段代码中加入了
parent
吗?@HenryYik,我在第二段代码中尝试过使用parent是的,仍然没有。添加此代码时,没有任何效果。我相信我可能需要一个不同的模块来完成这个任务!事实上,当检查回这是我的问题的一部分时,即使这不是让代码正常工作所需的全部,但它提供了一部分,足以帮助我解决问题。
self.background_image = tk.PhotoImage(file=r'C:/hazuki-gui/resources/background1.png')
self.background_label = tk.Label(image=self.background_image)
self.background_label.place(x=0,y=0)
self.background_label.img = self.background_image #try to add this