Python:Tkinter仅在键盘中断后打开

时间:2013-12-28 04:32:42

标签: python user-interface random tkinter

需要一些修订程序的帮助。我在下面编写的代码只在用键盘中断停止程序后打开tkinter框 - 任何帮助都将不胜感激!

#Imports moduals used
from tkinter import *
import time
import random

#Sets GUI
gui = Tk()
gui.geometry("500x500")
gui.maxsize(width=500, height=500)
gui.minsize(width=500, height=500)



#Sets list of facts

facts = ['fact one', 'fact two', 'fact three', 'fact four', 'fact five']

#Defines random fact generator
def fun1():
    r = random.randrange(len(facts))
    lbl = Label(gui,text=facts[r]).pack()


#Checks time (5s) before each new fact displayed
while 1:
   fun1()
   time.sleep(5)

1 个答案:

答案 0 :(得分:3)

你应该调用mainloop函数来启动Tkinter事件循环。

如果您需要定期运行代码,请使用after代替无限while循环。

...


def fun1():
    r = random.randrange(len(facts))
    lbl = Label(gui,text=facts[r]).pack()
    gui.after(5000, fun1)

gui.after(5000, fun1) # <--- Call `fun1` function after 5000 ms.
mainloop()