Maison >développement back-end >Tutoriel Python >Comment obtenir une visibilité dynamique des widgets dans Tkinter ?

Comment obtenir une visibilité dynamique des widgets dans Tkinter ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 06:52:30395parcourir

 How to Achieve Dynamic Widget Visibility in Tkinter?

Contrôle de la visibilité des widgets dans Tkinter

Dans Tkinter, la visibilité des widgets peut être basculée à l'aide de l'attribut visible. Par défaut, les widgets sont visibles, mais définir visible sur non les fera disparaître.

Par exemple :

<code class="python">Label(self, text='hello', visible='yes')</code>

Affichera l'étiquette avec le texte "bonjour".

<code class="python">Label(self, text='hello', visible='no')</code>

Masquera l'étiquette.

Cependant, si vous avez besoin d'un contrôle plus granulaire sur la visibilité des widgets, les méthodes pack_forget et grid_forget pourraient s'avérer utiles. Ces méthodes peuvent être utilisées pour faire apparaître ou disparaître un widget sans le détruire.

Par exemple, considérons le script suivant :

<code class="python">import tkinter as tk

def hide_me(event):
    event.widget.pack_forget()

root = tk.Tk()
btn = tk.Button(root, text="Click")
btn.bind('<Button-1>', hide_me)
btn.pack()
btn2 = tk.Button(root, text="Click too")
btn2.bind('<Button-1>', hide_me)
btn2.pack()
root.mainloop()</code>

Dans ce script, cliquer sur l'un ou l'autre bouton le fera disparaître. En effet, la fonction hide_me appelle pack_forget sur le widget d'événement, ce qui le supprime de son gestionnaire de pack.

La méthode grid_forget fonctionne de la même manière, mais pour les widgets gérés par une disposition en grille.

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:
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