Insertion d'une image avec tkinter

Résolu
Bonjour,
J'essaie de programmer l'insertion d'une image grâce à tkinter mais il me retourne à chaque fois l'erreur 'TclError: image "pyimage5" doesn't exist'. J'aimerais savoir ce qui ne va pas dans mon code.

class Interface(Tk):
    def __init__(self, path_image):
        super(Interface, self).__init__()

        self.image = PhotoImage(file=path_image)
        self.w, self.h = self.image.width(), self.image.height()

        self.canvas = Canvas(self, width=self.w, height=self.h)
        self.canvas.pack()
        self.canvas.create_image((self.w//2, self.h//2), image=self.image)

        self.mainloop()



Interface(r"C:\Users\lbhad\OneDrive\Documents\BCPST\2\Informatique\logo2.png")


Configuration: Windows / Edge 87.0.664.75

4 réponses

  1. Cela marche à présent. J'aimerai savoir comment faire pour étendre l'image à l'ensemble de ma frame. Comment faire pour qu'elle s'adapte à sa taille ?
    0
    1. Hello Neirdah,

      Alors, as-tu de la réussite ?
      Moi, j'ai fait ceci et ça marche:

      # -*- coding:Latin-1 -*-
      
      from tkinter import *
      
      class Interface(Tk):
          def __init__(self, path_image):
              super(Interface, self).__init__()
      
              self.image = PhotoImage(file=path_image)
              self.w, self.h = self.image.width()+10, self.image.height()+10
      
              self.canvas = Canvas(self, width=self.w, height=self.h)
              self.canvas.pack()
              self.canvas.create_image(self.w//2, self.h//2, image=self.image)
      
              self.mainloop()
      
      Interface(r"C:\Phil\Dev\Python\tests\ccm\images\Fresque_01.png")
      
      1
      1. Je ne te dis pas de mettre simplement logo2.png, je

        m'étonnes juste que le message d'erreur soit pyimage5

        n'existe pas

        Moi, j'ai copié/collé ton code et j'ai remplacé ton chemin et ton nom

        d'image par mon chemin et une image à moi et ça marche parfaitement
        0
        1. Bonjour Neirdah,

          Pourquoi l'erreur est-elle pyimage5 n'existe pas alors

          que tu passes en argument logo2.png ?????????

          D'autre part, peux-tu afficher ton code complet ?

          J'ai testé ton code avec une image à moi, ca marche très bien ...
          0
          1. Car en mettant simplement 'logo2.png' le programme ne me trouve pas le fichier.
            Pour l'instant c'est mon programme complet mais je cherche comment le relié à un autre pour avoir l'image en fond (ce que pour l'instant je n'arrive pas à faire étant donné que je débute dans la programmation avec tkinter).
            0