我是Tkinter的新手,所以我只是想尽可能多地学习。我想尝试制作一个闹钟,但现在停留在时间格式上。这是当前代码:
from tkinter import *
teer = Tk()
field = Canvas(teer, bd=0, highlightthickness=0, height='190', width='400', bg='#111111')
field.pack()
def start_countdown(count):
coin = 0.5
teer.resizable(False,False)
counter = Label(teer, fg = "#287aff", bg='#232323', font = ("Lato", 35, "bold"), width='15')
counter.place(x=50, y=50)
counter["text"] = count
if count > 0:
teer.after(1000, start_countdown, count -1)
if count < 500:
coin = 0.6
if count < 300:
coin = 0.7
start_countdown(500)
teer.mainloop()
现在我一直在尝试将500(秒)切成分钟/秒。或最终将其更改为小时/分钟/秒,如果我可以选择在函数中插入大于3600的整数。我只想要时间硬编码,所以我认为这不会是一个问题。
我尝试过的事情:
-人们进行了不同的警报/倒计时实验(不幸的是,那里没有多少倒数而不是倒数,而且还以小时/分钟/秒为单位。
-使用%H:%M:%S格式进行了实验
我似乎不明白。 感谢您提供有关制作倒计时的GUI程序的任何帮助或建议。
答案 0 :(得分:0)
您可以使用divmod
来计算剩余时间。
import tkinter as tk
root = tk.Tk()
a = tk.Label(root,text="")
a.pack()
def set_idle_timer(t):
hours, remainder = divmod(t, 3600)
mins, secs = divmod(remainder, 60)
timeformat = "{:02d}:{:02d}:{:02d}".format(hours, mins, secs)
a.config(text=timeformat)
t -=1
root.after(1000,lambda: set_idle_timer(t))
set_idle_timer(3605)
root.mainloop()