2016-07-18 7 views
0

Вот мой код (он еще не готов.)Команды Tkinter всегда после команд типа print(), Input() и т. Д.?

# 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) 

Не обращайте слишком много внимания на мои переменные (они написаны на эстонском языке.)

Вопрос:

Когда Я запускаю свой код, кажется, что первая команда, что мой код делает, является сном (5), но я хочу, чтобы моя программа сначала отображала мое окно с кнопками, а затем подождите 5 секунд. Может кто-нибудь объяснить мне, что происходит?

Также простите за мой плохой английский Im из Эстонии: D Благодарности

+0

Добавьте команду 'keel.update()' непосредственно перед командой 'sleep (5)' – sonrad10

+0

Спасибо за вашу поддержку: D – Meleon

ответ

1

Ваш GUI не будет ничего делать, пока вы не вызовете keel.mainloop(). И использование time.sleep() в графическом интерфейсе - это, как правило, плохая идея, посмотрите на .after function.

+0

Спасибо за вашу помощь, Racing! Ваш ответ был очень полезным. Благодарю вас: D – Meleon