gpt4 book ai didi

python - 如何在此程序中每秒显示一次 'Hello' 而不是一共显示五个 'Hello'?

转载 作者:行者123 更新时间:2023-11-28 22:51:33 29 4
gpt4 key购买 nike

#coding=utf-8
'''Tkinter module'''

from Tkinter import *
import time
root=Tk()
t=Text(root,fg='red')

t.pack()
def insert_hello_into_text_area():
t.insert(1.0,'Hello')

Button(root,text='hello',command=insert_hello_into_text_area).pack()

def start():
i=0
while i<5:
t.insert(1.0,'Hello\n')
time.sleep(1)
i+=1

Button(root,text='start',command=start).pack()


root.mainloop()

这是一个使用 Tkinter 模块的 python 程序。当我点击“开始”按钮时,我无法每秒得到一个“你好”。相反,所有“你好”都会在五秒钟后出现。那么如何在这个程序中每秒显示一次“Hello”而不是一共显示五个“Hello”呢?

最佳答案

使用 time.sleep 代替 while 循环,使用 after .

aftern(以下代码中为 1000)毫秒后调用回调。

def start(times=5):
t.insert(END, 'Hello\n')
if times > 1:
root.after(1000, lambda: start(times-1))

关于python - 如何在此程序中每秒显示一次 'Hello' 而不是一共显示五个 'Hello'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21397533/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com