2017-10-30 1 views
0
from tkinter import * 
photo = PhotoImage(file="C:\Temp\test\computer.gif") 
lbl = Label(root, image=photo, height="10", width="20").pack 

Ich habe absolut keine Ahnung, warum dies funktioniert es nicht kommt mit: _tkinter.TclError: couldn't recognize data in image file "C:\Temp\test\computer.gif.Gif Bild arbeiten nicht in tkinter

+0

Beachten Sie, dass Ihr 'lbl' im obigen Code kein Label-Objekt ist, sondern ein Funktionsobjekt. Wenn Sie die Pack-Methode aufrufen wollen, müssen Sie dies in einer separaten Zeile tun. – Nae

Antwort

1

Windows-Dateinamen haben immer als rohe Strings eingegeben werden (in allen Python, nicht nur mit tkinter). Außerdem müssen Sie zuerst ein Root-Fenster erstellen. Versuchen Sie folgendes:

from tkinter import * 
root = Tk() 
photo = PhotoImage(file=r"C:\Temp\test\computer.gif") 
Label(root, image=photo, height="10", width="20").pack() 
root.mainloop() 
+0

Ich hatte dort die root = tk() und root.mainloop, bevor ich vergessen habe, es in den Post zu setzen. Wenn ich das r hinzufüge, kommt es immer noch mit dem gleichen Fehler. –

+0

Sind Sie sicher, dass die Datei nicht beschädigt ist? Funktioniert das mit einer anderen Datei? – Novel

+0

Ich habe es repariert, danke für Ihre Hilfe. –