Maison > développement back-end > Tutoriel Python > Pourquoi mon image Tkinter n'apparaît-elle pas lorsqu'elle est créée dans une fonction de classe ?

Pourquoi mon image Tkinter n'apparaît-elle pas lorsqu'elle est créée dans une fonction de classe ?

Patricia Arquette
Libérer: 2024-12-25 02:00:17
original
274 Les gens l'ont consulté

Why Doesn't My Tkinter Image Appear When Created Inside a Class Function?

Pourquoi l'image Tkinter n'apparaît-elle pas si elle est créée dans une fonction au sein d'une classe ?

Dans Tkinter, la création d'une image dans une fonction sera n'affiche pas l'image. Ce comportement se produit car la variable qui fait référence à l'image, notée photo dans l'exemple de code, est une variable locale qui est récupérée une fois que la fonction a terminé son exécution.

Pour résoudre ce problème, il est nécessaire de stocker une référence à l'instance d'image en tant qu'attribut de la classe. Ceci peut être réalisé en utilisant une ligne similaire à :

self.photo = tkinter.PhotoImage(...)
Copier après la connexion

où self fait référence à l'instance de la classe Test. Cela garantit que la photo variable reste disponible pendant toute la durée de vie du cours, permettant à l'image d'être affichée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal