Tkinter 背景图像未显示

Tkinter Background Image not showing up

我正在尝试在 Tkinter GUI 中创建一个天气应用程序。它工作正常。我想给它添加一个背景图像,但它不会显示。最初我在没有参考线的情况下做到了,但它没有用。在一些网站上,他们说要保留图像的参考,但这也没有用。 我的 Tkinter window 尺寸也是 1920x1080,图像尺寸相同,但仍然没有显示。我试图将图像尺寸缩小到 window 但仍然无法正常工作。接受任何建议。也没有报错。

bg = PhotoImage('clearsky2.jpg')
bgl = Label(gui,image=bg)
bgl.image = bg #given a reference
bgl.place(x=0, y=0, relwidth=1,relheight=1)
bgl.pack()

遗憾的是 tkinter.PhotoImage 不支持 JPEG 文件,但它在新版本中支持 PNG 并且对 GIF 也有适当的支持。要使用 JPEG,您需要安装 PIL。 在终端说:

pip install Pillow

之后像这样导入:

from PIL import Image,ImageTk

那么现在,要用 PIL 打开图像,请说:

img_file = Image.open('clearsky2.jpg')
bg = ImageTk.PhotoImage(img_file)
bgl = Label(gui,image=bg)
bgl.place(x=0, y=0, relwidth=1,relheight=1)

这也适用于 JPEGPNG 文件,请记住您不需要保留引用,除非您在图像上循环或在函数内部创建图像。

希望它解决了你的问题,如果还有错误请告诉我

干杯