2016-07-18 3 views
0

Hier ist mein Code (es ist noch nicht fertig.)Tkinter Befehle sind immer nach Befehlen wie print(), Input() usw.?

# NumbrimängGUI/NumberGameGUI 

from time import * 
from random import * 
from tkinter import * 
from datetime import * 

# Keele valimine/Choosing language 

def Eesti(): 
    sleep (0.25) 
    global keel 
    keel.destroy() 
    global valik 
    valik = 'eesti' 
    print ('Hea kyll') 
def Inglismaa(): 
    sleep (0.25) 
    global keel 
    keel.destroy() 
    global valik 
    valik = 'inglise' 
    print ('All right!') 

keel = Tk() 
keel.title('NumbriMäng/NumberGame') 
frame_keel = Frame(keel, width = 275, height = 150, bg = '#91aca4') 
frame_keel.pack() 
Eesti_nupp = Button(frame_keel, text = 'Eesti keel', command = Eesti) 
Eesti_nupp.pack() 
Eesti_nupp.place(width= 100, height = 100, x = 25, y= 25) 
Inglismaa_nupp = Button(frame_keel, text = 'English', command = Inglismaa) 
Inglismaa_nupp.pack() 
Inglismaa_nupp.place(width= 100, height = 100, x = 150, y= 25) 

sleep (5) 

nicht zu viel Aufmerksamkeit auf meine Variablen zahlen Sie (Sie sind auf Estnisch geschrieben.)

Frage:

Wenn Ich benutze meinen Code, es scheint wie der erste Befehl, was mein Code ist Schlaf (5), aber ich möchte mein Programm mein Fenster mit Tasten zuerst anzeigen und dann 5 Sekunden warten. Kann mir jemand erklären, was vor sich geht?

Auch sorry für mein schlechtes Englisch Im von Estland: D Dank

+0

Fügen Sie den Befehl 'keel.update()' kurz vor dem 'sleep (5)' Befehl hinzu – sonrad10

+0

Vielen Dank für Ihre Unterstützung: D – Meleon

Antwort

1

Ihre GUI wird nichts tun, bis Sie keel.mainloop() nennen. Und mit time.sleep() in einem GUI-Programm ist in der Regel eine schlechte Idee, werfen Sie einen Blick auf die .after function.

+0

Vielen Dank für Ihre Hilfe, Racing! Ihre Antwort war sehr hilfreich. Danke: D – Meleon