Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.04 LTS
Ubuntu-fr propose des clés USB de Ubuntu et toutes ses « saveurs » ainsi qu'un magnifique t-shirt pour cette toute nouvelle version d'Ubuntu !

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, à 09: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()

Ubuntu 16.04 64 bits (depuis juillet 2016) , 18.04 en essai (décembre 2017)
divers versions (peu utilisées maintenant) Ubuntu et Studio 14.04 LTS 64 bits , MATE 16.04
(03/2018) : PC          : Intel(R) Pentium(R) CPU G4600 @ 3.60GHz  + 4GiB RAM DDR4-2400
(06/2017) : Portable : Intel(R) Core(TM)2  Duo CPU     T5750  @ 2.00GHz 3Go de RAM DDR2 667 Mhz

Hors ligne