probleme avec un TopLevel
bonjour tout le monde déjà je suis nouveau sur le forum alor voici mon probleme:
j'ai crée un petit programme pour m'amusé et pour apprendre les boite de saisie,message
crée un compte a rebourg ect...
mais quand j'execute mon programme avec idle (touche F5) mon programme marche très bien
et quand je l'ance directement mon fichier depuis l'explorateur windows ma fenêtre TopLevel ne safiche pas
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| import Tkinter
from Tkinter import *
import time
import tkMessageBox as Msg
import random
import tkSimpleDialog as Saisie
def pirater():
question = Msg.askquestion(title="question",message="Vous etes sur le point de pirater la base de donnee de la N.A.S.A voullez vous continuer ?")
if question == 'yes':
t=Tkinter.Toplevel()
#Mise en place du titre:
t.title("piratage de la N.A.S.A")
t.geometry("200x100")
#Mise de l'icone en haut a gauche de la fenetre :
t.iconbitmap("py.ico")
t.grab_set()
t.focus_set()
Cadre=Tkinter.Frame(t)
Cadre.pack()
piraterok=Tkinter.Label(Cadre, text="La base de donnee de la N.A.S.A est \n en train d'etre pirater veuillez patientez!", fg="black")
piraterok.pack(side=Tkinter.TOP)
ilreste = Tkinter.Label(Cadre, text="Il reste :", fg="black")
ilreste.pack(side=Tkinter.LEFT)
temp = random.randint(1, 60)#choisie un nombre entre 1 et 50
while (temp > 0): # (n'oubliez pas le double point !)
afichetemp = Tkinter.Label(Cadre, text=temp, fg="black")
segondes = Tkinter.Label(Cadre, text="segondes", fg="black")
afichetemp.pack(side=Tkinter.LEFT)
segondes.pack(side=Tkinter.LEFT)
print temp
temp = temp - 1 # (n'oubliez pas l'indentation !)
time.sleep(1)
afichetemp.forget()
segondes.forget()
if (temp == 0):
t.destroy()
info = Msg.showinfo(title="info",message="Le piratage de la base de donnee de la N.A.S.A a bien ete pirater !")
if (question == 'no'):
racine.destroy()
racine=Tkinter.Tk()
racine.geometry("400x300")
#Mise en place du titre:
racine.title("teste de toute les boite a message !")
#Mise de l'icone en haut a gauche de la fenetre :
racine.iconbitmap("py.ico")
#entrer le bon mot de pass :
chaine= Saisie.askstring(title="acces reserver", prompt="entrez le mot de passe :")
p = "no"
while (p != "yes"):
if (chaine != "tim123"):#ou tim123 est le mot de pass!
chaine= Saisie.askstring(title="acces reserver", prompt="entrez le mot de passe :")
else:
p = "yes"
bouton_pirater =Tkinter.Button(racine, text="Pirater", command=pirater)
bouton_pirater.pack()
quitter=Tkinter.Button(racine, text="Quitter", command=racine.destroy)
quitter.pack()
racine.mainloop() |
comment réglé le probleme ?
timiti29
ps même en compilant en exe avec py2exe sa fait pareille
probleme avec un TopLevel
bonjour j'ai essayer mon code ligne par ligne et ses a partir de la boucle qu'il y a un problème
et si je mais t.mainloop() par exemple avant if (temp == 0):
les label s'affiche après le compte a rebourg
donc ou je doit metre mon t.mainloop()?
timiti29