9

ラベルに画像を表示するために、2つの異なることを試しました

#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)

#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)

画像はすべてのコードと同じフォルダーにあります。画像を表示する方法について何か提案はありますか?

4

1 に答える 1

7

Bryan Oakley は正しいです。ファイル システムでは gif と見なされていても、画像の内容は jpg ではありません。

私の側では、あなたのプログラムで 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()

(ところで、上記の 7 行目をphoto = PhotoImage(imgPath)then like you に変更すると、画像は表示されません。そのままにしておきますphoto = PhotoImage(file = imgPath))

于 2013-04-04T06:17:32.987 に答える