Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/09/2014, à 01:28

Rach0497

Debutante python

Bonjour, je suis assez pressée, je dois rendre mon projet dans quelques semaines, mais python fait des siennes ! Je ne comprends pas ce qui se passe. Voilà, je voudrai importer une image dans un canvas voici mon script :

fen5=Tk()
    fen5.geometry("500x500")
    fen5.title("SVT, Fiches")
    can=Canvas(fen5,height=500,width=500,bg="grey")
    can.place(x=10,y=10)
    image1=PhotoImage(file="SVT1.gif")
    img=can.create_image(5,5,image="image1")

Mais lorsque j'execute mon programme, pyhton me dit :

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python32\lib\tkinter\__init__.py", line 1399, in __call__
    return self.func(*args)
  File "U:\Projet Final ISN\Projet.py", line 23, in fen5
    img=can.create_image(5,5,image="image1")
  File "C:\Python32\lib\tkinter\__init__.py", line 2182, in create_image
    return self._create('image', args, kw)
  File "C:\Python32\lib\tkinter\__init__.py", line 2173, in _create
    *(args + self._options(cnf, kw))))
_tkinter.TclError: image "image1" doesn't exist

Si quelqu'un comprend pourquoi ça ne marche pas, ça m'aiderai beaucoup ! Merci

Dernière modification par Rach0497 (Le 11/09/2014, à 04:15)

Hors ligne

#2 Le 09/09/2014, à 02:41

melixgaro

Re : Debutante python

Salut,

À l'avenir, peux-tu utiliser les balises code comme indiquée ici, afin de rendre ton message plus lisible ?

Pour ton problème, je dirais que la dernière ligne devrait être

img=can.create_image(5,5,image=image1)

c'est-à-dire sans les guillemets droits autour de image1.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#3 Le 11/09/2014, à 04:14

Rach0497

Re : Debutante python

Merci pour votre réponse, mais j'ai déjà essayé, et au lieu de me dire que "image1" n'existe pas, on me dit que pyimage1 n'existe pas tongue
Et j'utilisera des balises codes la prochaine fois merci smile

Hors ligne

#4 Le 11/09/2014, à 04:28

melixgaro

Re : Debutante python

il faut que tu recolles le bout de code corrigé et l'erreur correspondante. je ne vois pas pourquoi il parle de pyimage1.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#5 Le 11/09/2014, à 07:57

Gaara

Re : Debutante python

Bonjour,
Peut-être mettre le chemin de l'image et son extension?

img=can.create_image(5,5,image="C:/chemin/image1.jpg")

Edit: Ah nan c'est pas ça, j'avais pas vu la ligne précédente.. tongue

Dernière modification par Gaara (Le 11/09/2014, à 10:32)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#6 Le 11/09/2014, à 09:29

tiramiseb

Re : Debutante python

Salut,

Gaara a écrit :

Peut-être mettre le chemin de l'image et son extension?

Non, absolument pas.
L'argument "image" de create_image attend un objet PhotoImage, BitmapImage ou compatible, pas le chemin vers un fichier.
http://effbot.org/tkinterbook/canvas.ht … age-method

melixgaro a écrit :

il faut que tu recolles le bout de code corrigé et l'erreur correspondante. je ne vois pas pourquoi il parle de pyimage1.

Je suis absolument d'accord.
Il n'y a pas de raison qu'il parle de "pyimage1".
Donc l'idéal c'est que tu fasses comme ton premier message (code puis message d'erreur) mais avec la modification proposée par melixgaro.

Hors ligne

#7 Le 13/09/2014, à 05:28

Rach0497

Re : Debutante python

Voilà, j'ai essayé sans les guillemets, et voici le message d'erreur :


Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1487, in __call__
    return self.func(*args)
  File "C:\Users\Rachel Gris\Desktop\Projet secours\Projet.py", line 24, in fen5
    img=can.create_image(250,250,image=image_1)
  File "C:\Python34\lib\tkinter\__init__.py", line 2296, in create_image
    return self._create('image', args, kw)
  File "C:\Python34\lib\tkinter\__init__.py", line 2287, in _create
    *(args + self._options(cnf, kw))))
_tkinter.TclError: image "pyimage1" doesn't exist

Pensez vous que ça pourrait être du au faite que tout soit dans la fonction :

def fen5(): 

Dernière modification par Rach0497 (Le 14/09/2014, à 00:13)

Hors ligne

#8 Le 13/09/2014, à 07:55

pingouinux

Re : Debutante python

Bonjour,

Rach0497 #1 a écrit :

    image1=PhotoImage(file="SVT1.gif")

#7 a écrit :

  File "C:\Users\Rachel Gris\Desktop\Projet secours\Projet.py", line 24, in fen5
    img=can.create_image(250,250,image=image_1)

Est-ce image1 ou image_1 ?

Il faudrait que tu montres une portion plus importante de ton script.

Hors ligne