Partage
  • Partager sur Facebook
  • Partager sur Twitter

Image ne s'affiche pas dans mon bouton Tkinter

Mon bouton apparait sans l'image

Sujet résolu
    6 février 2021 à 11:41:39

    Bonjour !

    J'ai petit problème avec mes boutons Tkinter...

    Voici mon code :

    def create_editor_menu(self):
            img = ImageTk.PhotoImage(file="img/clavier.png")
            self.btn1 = tk.Button(self.up_container, image=img)
            self.btn1.pack()

    et voici ce que j'obtient après : 

    On voit certes un bouton qui apparait mais il n'y a ni l'image dessus et il n'est pas cliquable. Quand je remplace l'image par du texte alors le bouton s'affiche correctement /:

    J'ai pris quasiment le même code (mais en plus simple) dans un autre fichier et là tout fonctionne !

    import tkinter as tk
    from PIL import ImageTk
     
    root = tk.Tk()
     
    img = ImageTk.PhotoImage(file="test.jpg")
    label = tk.Button(root, image=img)
    label.pack()
     
    root.mainloop()

    J'ai beaucoup cherché mais je n'ai rien trouvé...(je soupçonne peut-être les frame d'être la cause de mon problème mais je n'en suis pas certain)

    Merci d'avance pour vos réponses !

    Maxime

    • Partager sur Facebook
    • Partager sur Twitter
      2 avril 2022 à 11:37:44

      bonjour, j'ai le même problème, comment l'avez vous résolus ?

      • Partager sur Facebook
      • Partager sur Twitter
        2 avril 2022 à 15:00:38

        BourgiesJean a écrit:

        bonjour, j'ai le même problème, comment l'avez vous résolus ?


        Salut,

        Dans ce cas la référence à l'image est supprimée par le garbage collector.

        Le plus simple est d'en faire un attribut, de préférence dans le constructeur :

        def __init__(self):
            self.img = ImageTk.PhotoImage(file="img/clavier.png")
        ...
        ...
        def create_editor_menu(self):
                self.btn1 = tk.Button(self.up_container, image=self.img)
                self.btn1.pack()



        -
        Edité par Diablo76 2 avril 2022 à 15:01:19

        • Partager sur Facebook
        • Partager sur Twitter

        Image ne s'affiche pas dans mon bouton Tkinter

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown