基本的 Tkinter 倒数计时器 [英] Basic Tkinter countdown timer

查看:42
本文介绍了基本的 Tkinter 倒数计时器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在开发一个需要非常简单的倒数计时器的项目,它在 tkinter GUI 中工作并且不依赖于递归.我尝试了不同的方法,但到目前为止似乎没有任何效果.

I am currently working on a project that requires are very simple countdown timer, that works in the tkinter GUI and that dosen't rely on a recursion. I have tried different things but nothing seems to work so far.

import time
from tkinter import *


root = Tk()
root.title("Timer")
root.geometry("100x100")

def countdown(count):
    label = Label(root, text= count)
    label.place(x=35, y=15)

for i in range(5,0,-1):
    countdown(i)
    time.sleep(1)

root.mainloop()

推荐答案

你不能使用 sleep 因为它停止了 mainloop 并且程序不能工作.您可以使用 root.after 在 1000ms (1s) 后调用函数

You can't use sleep because it stops mainloop and program can't work. You can use root.after to call function after 1000ms (1s)

import tkinter as tk

def countdown(count):
    # change text in label        
    label['text'] = count

    if count > 0:
        # call countdown again after 1000ms (1s)
        root.after(1000, countdown, count-1)

root = tk.Tk()

label = tk.Label(root)
label.place(x=35, y=15)

# call countdown first time    
countdown(5)
# root.after(0, countdown, 5)

root.mainloop()

这篇关于基本的 Tkinter 倒数计时器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆