IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

image non existante


Sujet :

Tkinter Python

  1. #1
    Membre régulier Avatar de sub-0
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 197
    Points : 76
    Points
    76
    Par défaut image non existante
    Bonjour,
    J'ai un probleme avec mon canvas: quand j'essaye de faire un create_image, ça me donne l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
        return self.func(*args)
      File "C:\Users\FLORENT\workspace\ProjetPython\src\controleurs\ControleurInterfaceAccueil.py", line 56, in lancerJeu
        ControleurInterfaceJeu(self.getClient())
      File "C:\Users\FLORENT\workspace\ProjetPython\src\controleurs\ControleurInterfaceJeu.py", line 26, in __init__
        self.interface = InterfaceJeu(self.master,self)
      File "C:\Users\FLORENT\workspace\ProjetPython\src\Vues\InterfaceJeu.py", line 84, in __init__
        self.__canvas.create_image(400,260,image=PhotoImage(file="C:/Users/FLORENT/workspace/ProjetPython/src/Vues/images/tapis.gif"))
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 2198, in create_image
        return self._create('image', args, kw)
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 2189, in _create
        *(args + self._options(cnf, kw))))
    TclError: image "pyimage3" doesn't exist
    pouvez vous m'aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     self.__canvas = Canvas(self.frame, width=900, height=640, bg="dark green")
            self.__images = []
            self.__images.append(PhotoImage(file="C:/Users/FLORENT/workspace/ProjetPython/src/Vues/images/tapis.gif"))
            self.__canvas.create_image(400,260,image=PhotoImage(file="C:/Users/FLORENT/workspace/ProjetPython/src/Vues/images/tapis.gif"))
            self.__canvas.pack()

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    C'est une erreur qui se produit lorsque l'on a plusieurs instances Tk().
    Le plus propre est de passer par des Toplevels.

    Note : Puisque vous vous stockez déjà l'image dans self.__images pourquoi ne pas utiliser self.__images[0] ?

    @+

  3. #3
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Question fréquente tu pose la,
    F.A.Q la réponse te donnera:
    http://python.developpez.com/faq/?pa...as#CanvasImage

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Pas vraiment:
    Pour afficher une image autre que GIF ou PPM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.__images.append(PhotoImage(file="C:/Users/FLORENT/workspace/ProjetPython/src/Vues/images/tapis.gif"))

  5. #5
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Salut,
    alors comme l'a déjà signalé Pausekawa, le probleme est du à la présence de plus de 2 instances <Tk>. En fait Python lie les objects crées sans parent
    é au premier objet <Tk> instancier, et donc lorsqu'il n y en qu'un il n'y a pas de soucis (pas besoin lorsqu'on créé une image de signaler son parent). Une fois qu'on a plus d'une instance, il faut signaler à la création d'une image, laquelle est son parent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    self.__canvas = Canvas(self.frame, width=900, height=640, bg="dark green")
            self.__images = []
            self.__images.append(PhotoImage(file="C:/Users/FLORENT/workspace/ProjetPython/src/Vues/images/tapis.gif", master=self.frame.master))
            self.__canvas.create_image(400,260,image=self.__images[0])
            self.__canvas.pack()
    @+

Discussions similaires

  1. CSS image non prise en compte
    Par lodan dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 31/10/2006, 08h49
  2. Réponses: 1
    Dernier message: 02/08/2006, 17h20
  3. imagejpeg : images non valides
    Par kivan666 dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2006, 12h00
  4. [JPGraph]Erreur, image non supportée
    Par Jim_Nastiq dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/07/2006, 15h28
  5. [FORMS] Champ image non basé
    Par macharius dans le forum Forms
    Réponses: 5
    Dernier message: 08/03/2005, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo