2017-10-19 6 views
0

Je suis en train de charger une image gif dans mon GUI tkinter et je me sers PhotoClass(). S'il vous plaît noter que je ne suis pas en utilisant des modules externes tels que PIL.I j'utilise python 3.4. Au début j'ai essayé une image .png, qui n'est pas supportée nativement. Donc j'ai changé l'extension d'image en .gif, qui (je crois) est supportée.Tkinter PhotoClass (ne pouvait pas reconnaître les données dans le fichier d'image)

L'image est d'abord refrenced ici:

img=tk.PhotoImage(file="Image.gif") 

Et est placé dans une étiquette ici:

ImageLabel=tk.Label(root, image=img,) 
ImageLabel.grid(row=14,column=1) 

L'erreur que je reçois est:

_tkinter.TclError: couldn't recognize data in image file "Image.gif" 

Toute aide serait très appréciée.

+0

Vous ne pouvez pas simplement changer le nom d'un fichier PNG et attendre qu'il devienne comme par magie un fichier GIF, ils sont des formats de fichiers tout à fait différents. –

+0

Lorsque j'ouvre l'image sur la peinture, l'image semble bien se passer. –

+0

Parce que la peinture peut ouvrir de nombreux formats de fichiers. Avez-vous simplement changé l'extension manuellement? Ou faire un "Enregistrer sous"? Si vous avez modifié l'extension manuellement, cela ne fonctionnera pas. –

Répondre

0

Vous ne pouvez pas changer l'extension pour convertir un fichier comme par magie dans un format différent. Tkinter attend des données GIF, ne l'obtient pas, et jette ainsi l'erreur que les données ne peuvent pas être reconnues. Vous devez lui donner des données GIF réelles.