0

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

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()
4

1 回答 1

6

遗憾的是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文件,并且请记住,除非您循环图像或在函数内部创建图像,否则您不需要保留引用。

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

干杯

于 2020-08-29T15:15:37.967 回答