Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/06/2018, à 08:13

ar barzh paour

python et mainloop

bonjour à tous
je commence à étudier python3 ...  (et je ne connais pas python2)
j'ai déjà survolé : les types de variables , les fonctions , les méthodes , les classes

# dans le petit programme suivant ( une fenêtrre qui peut détruire l'autre )
# le programme fonctionne "bien" si je mets fen1.mainloop() à la fin

#mais si je mets cette ligne en ligne 13 [ c'est à dire avant bou2=Button(...) ]
# pourquoi a-t-on le fonctionnement suivant :
# en fermant fenêtre 1 (par clic sur la croix de fermeture d cette fenêtre)
# la fenetre 2 reste sans bouton ... il ne se passe rien ,
# ET  le message d'erreur n'apparait  que lorsque je ferme la fenetre2
#  File "p78-fenetres.py", line 15, in <module>
#    bou2=Button(fen2,text="supprime fen1",command=fen1.destroy)

# j'aurai plutôt supposeé que le message d'erreur serait apparu à la fermeture de la fenetre 1


from tkinter import *
fen1=Tk()
tex1=Label(fen1,text="Fenetre1")
tex1.pack()

fen2=Tk()
tex2=Label(fen2,text="Fenetre2")
tex2.pack()

bou1=Button(fen1,text="supprime fen2",command=fen2.destroy)
bou1.pack()

fen1.mainloop()       #ne pas mettre à cet endroit ,

bou2=Button(fen2,text="supprime fen1",command=fen1.destroy)
bou2.pack()
#fen1.mainloop() # position plus accceptable de cette ligne
fen2.mainloop()

PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne