我无法使用以下代码将图像显示为GUI窗口的背景,有什么想法吗?我已经多次更改文件扩展名类型。
from tkinter import *
from PIL import ImageTk, Image
window = Tk()
window.title("My Application")
lbl = Label(window, text="Hello", font=("arial italic", 25))
lbl.grid(column=0, row=0)
backgroundImage = PhotoImage(file = "C:\\Users\\User
Person\\Desktop\\months.gif")
label = Label(master=window,
image = backgroundImage,
text='This is a test for stackflow',
height = 2
)
label.place(x=0, y=0, relwidth=1, relheight=1)
window.mainloop()
答案 0 :(得分:0)
我能够使用您的代码显示图像,但是我使用了原始字符串来定义gif图像的路径。您应该这样使用它:
backgroundImage = PhotoImage(file = r"C:\Users\User Person\Desktop\months.gif")
请注意,r" "
会使图像路径成为原始字符串,因此您无需转义\
。
我还定义了一个窗口几何:
window.title("My Application")
window.geometry("320x240")
更新:
根据评论,您还可以使用PIL
库首先打开图像以修复错误Tkinter error: Couldn't recognize data in image file
:
from PIL import ImageTk, Image
backgroundImage = ImageTk.PhotoImage(Image.open(r"C:\Users\User Person\Desktop\months.gif"))
注意:
您还必须验证这是有效的gif文件。尝试在Windows Picture Viewer或类似软件中打开文件。另外,您提到更改了文件扩展名,这可能会使文件不稳定并使其无效。因此,请确保使用原始文件扩展名。如果您想将文件转换为其他格式,请为此使用专用软件或编写一个简单的Python脚本(尽管我从未尝试过此选项),该脚本可以执行此转换而不会破坏文件。