Tkinter命令总是在print(),Input()等命令之后?

时间:2016-07-18 15:13:06

标签: python python-3.x tkinter

这是我的代码(尚未准备好。)

# 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秒。有人可以解释一下发生了什么吗?

也很抱歉我来自爱沙尼亚的英语不好:D 感谢

1 个答案:

答案 0 :(得分:1)

在致电keel.mainloop()之前,您的GUI不会做任何事情。在GUI程序中使用time.sleep()通常是一个坏主意,请查看.after function