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 :

probleme d'affichage d'une image


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Par défaut probleme d'affichage d'une image
    Bonjour a tous

    Je souhaite afficher une image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    image = Image.open("images/cartes/1.png") 
    photo = ImageTk.PhotoImage(image)
    self.canf1 = Canvas(self.master, relief = 'ridge')
    self.canf1.grid(column = 4,row= 5,columnspan = 1, rowspan = 2,ipadx = 0,
                        ipady = 0,padx = 0,pady = 0,sticky = "")
    self.canf1.create_image(0,0, anchor = tk.NW, image=photo)
    Ne voyant pas l'image je me demande si il y a au moins le canevas
    Etant gris sur gris et peut etre vide, est-il là?
    Je decide donc de le mettre en fond vert et plus grand
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.canf1 = Canvas(self.master, relief = 'ridge', bg = 'green', width = 150, height = 200)
    Ok je vois le canevas et il a l'air de la bonne taille....
    ...Mais pas d'image (qui est de 146x196)
    Je teste en ajoutant la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.canf1.geometry("150x200+0+0")
    Et la mon image apparaît....
    ...Mais avec une erreur suivante:
    AttributeError: 'Canvas' object has no attribute 'geometry'
    je ne comprend pas ce qu'il ce passe ou comment faire

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Probablement parce que vous n'avez pas lu la FAQ?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Par défaut
    j'ai lu cet article
    mais voulant mettre mon image dans un canevas je ne m'y suis pas intéressé plus que ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    photo = ImageTk.PhotoImage(Image.open("images/cartes/1.png"))
    self.canf1 = Label(self.master, image=photo, relief = 'ridge', bg = 'green', width = 150, height = 200)
    self.canf1.image = photo
    self.canf1.grid(column = 4,row= 5,columnspan = 1, rowspan = 2,ipadx = 0,
                ipady = 0,padx = 0,pady = 0,sticky = "")
    là oui ca marche pour un 'Label' mais pas pour un 'Canvas'

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par mathrix77 Voir le message
    là oui ca marche pour un 'Label' mais pas pour un 'Canvas'
    Le problème est dans le déréférencement de l'objet (PhotoImage) associé à la variable locale "photo".
    Si vous le stockez dans "self.canf1.image" sa durée de vie sera celle du widget, peu importe qu'il soit Canvas ou Label.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Par défaut
    si je remplace Label par Canvas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.canf1 = Canvas(self.master, image=photo, relief = 'ridge', bg = 'green', width = 150, height = 200)
    ca ne marche pas
    _tkinter.TclError: unknown option "-image"

    Si vous le stockez dans "self.canf1.image" sa durée de vie sera celle du widget
    l'image est affiché en permanence, donc toujours 'en vie'
    je doit pas comprendre quelque chose

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par mathrix77 Voir le message
    l'image est affiché en permanence, donc toujours 'en vie'
    je doit pas comprendre quelque chose
    Afficher une image dans un Canvas, c'est via .create_image (comme dans votre premier post) car le Canvas étant plus complexe qu'un Label, çà permet de préciser la position, ....

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] Probleme d'affichage d'une image dans SQL SERVER
    Par stentorus dans le forum Langage
    Réponses: 2
    Dernier message: 23/08/2010, 17h20
  2. probleme d'affichage d'une image
    Par elghadi_mohamed dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 23/04/2007, 16h25
  3. Probleme d'affichage d'une image dans un script cgi
    Par Jim_Nastiq dans le forum Web
    Réponses: 3
    Dernier message: 25/04/2006, 16h49

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