Tkinter图像未显示或出错

Ark*_*tri 9 python user-interface tkinter

我尝试了两种不同的方法来尝试在标签中显示图像

#This gives " TclError: couldn't recognize data in image file "TestImage.gif" "
imgPath = "TestImage.gif"
photo = PhotoImage(file = imgPath)
label = Label(image = photo)
label.image = photo # keep a reference!
label.grid(row = 3, column = 1, padx = 5, pady = 5)
Run Code Online (Sandbox Code Playgroud)

#This gives no error but the image doesn't show
imgPath = "TestImage.gif"
photo = PhotoImage(imgPath)
label = Label(image = photo)
label.image = photo # keep a reference!
label.grid(row = 3, column = 1, padx = 5, pady = 5)
Run Code Online (Sandbox Code Playgroud)

图像与所有代码位于同一文件夹中.有关如何显示图像的任何建议?

twa*_*lig 7

Bryan Oakley是正确的,就其内容而言,图像不是jpg,即使你的文件系统认为它是一个gif.

在我的最后,我尝试用你的程序打开jpg并得到相同的错误'TclError:无法识别图像文件中的数据"hello.jpg".

所以你可以这样做:用mspaint打开你的图像,然后转到文件>另存为,然后从"另存为类型"下拉列表中选择GIF.然后代码应该工作.这是我用过的:

from Tkinter import *

root = Tk()

imgPath = r"hello.gif"
photo = PhotoImage(file = imgPath)
label = Label(image = photo)
label.image = photo # keep a reference!
label.grid(row = 3, column = 1, padx = 5, pady = 5)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,如果我改变上面的第7行photo = PhotoImage(imgPath)然后像你一样,没有图像出现.所以请保留它photo = PhotoImage(file = imgPath))