首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不知道tkinter的after方法是如何工作的。

我不知道tkinter的after方法是如何工作的。
EN

Stack Overflow用户
提问于 2021-05-12 22:45:22
回答 1查看 31关注 0票数 2

我正试着用python做对讲机,只是为了好玩。

我希望它写成"Err“,当你试图呼叫一个大于69的号码时,它会闪烁5秒钟。但是time.sleep()在tkinter中不能工作,我不知道如何使用.after()方法。

代码语言:javascript
复制
    if int(lbl.cget("text"))>69:
    for i in range(5):
        lbl.configure(text="Err")
        time.sleep(0.5)
        lbl.configure(text="     ")
        time.sleep(0.5)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-12 23:35:45

您可以使用.after()每隔半秒执行一次函数来切换标签的文本:

代码语言:javascript
复制
def do_blink(lbl, n=10):
    if n > 0:
        lbl.after(500, do_blink, lbl, n-1) # call again after half a second
        lbl["text"] = "" if n&1 else "Err" # toggle between "" and "Err"

if int(lbl["text"]) > 69:
    do_blink(lbl)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67505918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档