如何使计时器倒数到你为它指定的时间python

时间:2017-03-21 20:55:45

标签: python canvas time tkinter timer

我正在尝试制作一个计算到特定时间的程序。在这个程序中,我已经分配了时间,我希望它说点击我,但我无法弄清楚如何制作一个倒计时到那个时间的计时器。这是我目前的代码:

import time
from tkinter import *
from datetime import datetime
from threading import Timer
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()

x = datetime.today()
y = x.replace(day=x.day, hour=1, minute=30, second=0, microsecond=0)
delta_t = y-x

secs = delta_t.seconds+1

def hello_world():
    label = Label(tk, text="CLICK NOW", font=('Times', 45), fg='blue')
    label.place(relx=0.5, rely=0.5, anchor=CENTER)

t = Timer(secs, hello_world)
t.start()

tk.mainloop()

如果有人有任何建议将计时器倒计时到指定的时间,我们将不胜感激。在此先感谢您的任何帮助

2 个答案:

答案 0 :(得分:0)

你不应该吗?

secs = delta_t.total_seconds() + 1

而不是

secs = delta_t.seconds + 1

答案 1 :(得分:0)

这是一个使用tkinter制作的非常简单的计时器,您可以将其合并到您的代码中:只需将其用作.after()

from tkinter import *

root = Tk()
msg = Label(root, text = str(60))
msg.pack()
def timer():
    msg['text']=str(int(msg['text'])-1)
    root.after(60, timer) # continue the timer
root.after(60, timer) # 60 ms = 1 second
root.mainloop()

这是使用tkinter制作计时器的最基本概念。它将非常有用。