42 votes

Dans Tkinter, existe-t-il un moyen de rendre un widget non visible ?

Quelque chose comme ça, ferait apparaître le widget normalement :

 Label(self, text = 'hello', visible ='yes') 

Alors que quelque chose comme ça, ferait que le widget n'apparaisse pas du tout :

 Label(self, text = 'hello', visible ='no') 

62voto

luc Points 13564

Vous pouvez être intéressé par les pack_forget et grid_forget d'un widget. Dans l'exemple suivant, le bouton disparaît lorsque vous cliquez dessus

 from Tkinter import *

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

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

2voto

Saheb Singh Points 279

Pour masquer un widget, vous pouvez utiliser la fonction pack_forget() et pour le montrer à nouveau, vous pouvez utiliser la fonction pack() et les implémenter tous les deux dans des fonctions distinctes.

 from Tkinter import *
root = Tk()
label=Label(root,text="I was Hidden")
def labelactive():
    label.pack()
def labeldeactive():
    label.pack_forget()
Button(root,text="Show",command=labelactive).pack()
Button(root,text="Hide",command=labeldeactive).pack()
root.mainloop()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X