首页 > 解决方案 > 如何使用 after() 在 Tkinter 中添加随机睡眠时间

问题描述

我搜索了很多这个问题,但我找不到任何问题,问题是:使用 after(),我必须使用固定数字作为时间,但在 tkinter 之外我可以使用从随机范围中取一个数字并及时输入.sleep(),这对我来说随机睡眠很重要。有什么方法可以与 tkinter 一起使用吗?

python中的示例:

time.sleep(random.randrange(120, 480))

哪个 tkinter 将与之挂出。tkinter 中的示例:

root.after(1000, my_function)

它固定在 1000 上(例如),我不能传递参数或在其中使用random.randrange()之类的东西。

标签: pythontkinter

解决方案


在方法内部使用random(或任何返回正整数的函数)after似乎不是问题。下面的效果很好

from tkinter import *
import random

def random_timer():
    global time 
    label['text']=time
    time+=1
    root.after(random.randint(100,1000),random_timer)

root=Tk()

label=Label(root)
label.pack()

time=0
random_timer()

root.mainloop()

推荐阅读