Importation d'image tkinter

Fermé
David - Modifié le 13 déc. 2019 à 00:33
 trifou - 13 déc. 2019 à 20:54
Bonjour,
J'ai un problème, je n'arrive pas à importer une simple image dans une fenêtre.
Voici mon code :

from tkinter import *

fenetre=Tk()
fenetre.title('Damier')

bouton_quit=Button(fenetre,text='Quitter',bg='blue',command=fenetre.destroy)
bouton_quit.pack()

mon_canvas=Canvas(fenetre,bg='green',height=500,width=500,cursor='exchange')
mon_canvas.pack()

noir=PhotoImage(file="pion_noir.gif")
mon_canvas.create_image(250,250,image=noir)


Mon image est bien dans le même dossier que mon fichier, et j'ai même envoyé le code à un ami et ça a marché pour lui. Pourriez vous m'aider ?
A voir également:

1 réponse

Bonjour,

Teste ceci

img_data = '''R0lGODlhHgAeAKUzAAAAABoBAR0eHCcoJkRGQ1ZZVVpdWU1lQE9mQlFnRVJoR1dsTGRnYm
ZoZF9yVmBzV2xvamR1XGV2XWZ3Xm9zbnB0b3F0cHN3cnV4c2x8ZW59Z3B/aXh8dnJ/a3GA
anSBbXyAen+CfX6DfX+EfoOHgYGMfIaKg4eLhIONfomShYySiY2Tio2Ti4yUiI6Uio6Ui4
2Vio2Vi46VijdXIDdXIDdXIDdXIDdXIDdXIDdXIDdXIDdXIDdXIDdXIDdXIDdXICH5BAEK
AD8ALAAAAAAeAB4AAAabwIBwSCwaj8ikcslsOp/QqBBArVqvVyV2u9Vyv1QvmCvmPiDd5P
icRq7R2DIDpfCYqGyMJFQVCzoyBCMIFABnIBEcVmIXCwNULTCGLxMVWWpUJB9VLimGDpKX
blSNjwCRhiAeLKJHVQIbMQQiBxaGEAUaK4uYVA0lCRsneGgGGSp9vWNxysu8o86tRtHM0N
RhzdRS29zd3t/gSEEAOw=='''

fenetre=Tk()
fenetre.title('Damier')

mon_canvas = Canvas(fenetre,bg='green',height=100, width=100)
mon_canvas.pack()

img = PhotoImage(data=img_data)
mon_canvas.create_image(50, 50, image=img)

fenetre.mainloop()


Si tu as bien une image "ok" au centre du canvas, c'est qu'il y a quelque chose d'incorrect dans ce que tu as fait avec ton gif.
0
Bonsoir,
toujours le même message d'erreur à savoir :

  File "c:\users\davor\miniconda3\lib\tkinter\__init__.py", line 2474, in _create

  • (args + self._options(cnf, kw))))_tkinter.TclError: image "pyimage2" doesn't exist


Peut-être que c'est une histoire de version de pyzo ?
0
trifou > David
13 déc. 2019 à 20:54
Si tu avais précisé au départ que tu avais un message d'erreur,...

Cette erreur signifie que la référence de l'image n'est pas conservée, et y a de grandes chances, oui, que cela vienne de ton environnement de développement et aucune idée pourquoi elle n'est pas conservée avec pyzo.

Mais tu peux directement utiliser l'exécutable python pour tester ton script et voir que ça fonctionne.
0