Faire apparaitre/disparaitre un widget tkinter bouton [Résolu]

Messages postés
7
Date d'inscription
vendredi 6 juin 2008
Dernière intervention
31 mai 2014
- - Dernière réponse : Erdis
Messages postés
7
Date d'inscription
vendredi 6 juin 2008
Dernière intervention
31 mai 2014
- 9 avril 2014 à 20:35
Bonjour,

je cherche à faire apparaitre/disparaitre un bouton ('test') dans une fenêtre
tkinter à chaque clic sur un bouton activateur (X). Je ne comprends pas pourquoi
le script ci-dessous ne fonctionne pas (en fait le bouton apparait au premier
clic, disparait au second, mais ne réapparait pas par la suite).
Même s'il y a certainement moyen de procéder différemment, j'aimerais comprendre
pourquoi le script ci-dessous ne fait pas ce que j'attendais.
Dans l'attente de vos commentaires,
Cordialement,
Erdis


from tkinter import *
fen=Tk()
def activeb3():
global b3
try:
b3.destroy()
except:
b3=Button(text='test')
b3.pack()
b1=Button(text='X',command=activeb3)
b1.pack()
fen.mainloop()
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
97
Date d'inscription
lundi 9 octobre 2006
Dernière intervention
7 décembre 2018
8
Merci
Bonjour,

Pour info:
Rendre un bouton invisible:
Bouton.pack_forget()

Remettre un bouton visible:
Bouton.pack()

Rendre un bouton inactif:
Bouton.config(state = DISABLED)

Rendre un bouton actif:
Bouton.config(state = NORMAL)


--

Dire « Merci » 8

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de lespinx
Messages postés
70
Date d'inscription
mercredi 1 novembre 2000
Dernière intervention
1 juin 2018
0
Merci
Salut, le fait d'écrire 'b3.destroy()' supprime certes le bouton mais la variable 'b3' correspond toujours à l'id attribué par tkinter lors de la 1ère création du boutton. Donc on peut indéfiniment demander un 'destroy' sur l'id sans pour autant en voir le résultat.
Conclusion rajoute 'b3 = None' après le b3.destroy() pour forcer l'exception.

--
Commenter la réponse de Mints
Messages postés
7
Date d'inscription
vendredi 6 juin 2008
Dernière intervention
31 mai 2014
0
Merci
Merci pour vos explications. Elles confirment mon impression, à savoir que le bouton disparait mais existe toujours. Avec la méthode 'forget', cela fonctionne bien.

Je passe le sujet en résolu.

Cordialement,

Erdis
Commenter la réponse de Erdis

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.