我正在用python和tkinter为下一次spacex发射制作倒计时。计时器应该在2020-05-30,22:30 CEST结束。我希望它每秒钟更新一次小时:分钟:秒。我试过了,但我能想到的就是这个,这仍然给我一个错误
import tkinter as tk
from datetime import datetime
import time
HEIGHT = 250
WIDTH = 1000
def timer():
spacex = datetime(2020, 5, 30, 22 - 1, 30, 0).timestamp()
dif = spacex - time.time()
# H:M:S
while (dif >= 0):
dif = spacex - time.time()
textline = str(dif // 3600)[:2] + ":" + str((dif // 60) % 60)[:2] + ":" + str((dif // 1) % 60[:2]
time.sleep(1)
v = str(textline)
label["text"] = v
# TKINTER BELOW
root = tk.Tk()
canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH)
canvas.pack()
frame = tk.Frame(root, bg="#808080", bd=20)
frame.place(relwidth=0.6, relheight=0.4, relx=0.2, rely=0.25)
button = tk.Button(root, text="See timer!", font="Arial", command=lambda: timer())
button.place(relheight=0.1, relwidth=0.1)
label = tk.Label(frame, font="Arial")
label.place(relwidth=1, relheight=1)
root.mainloop()
直接错误是此行
str()
缺少右括号:但是,当我们进行此操作时,让我们使用tkinter自己的计时机制,而不是循环和
sleep()
,并使用Python提供的时间格式化函数。并增加字体大小:这样使用
strftime()
只会使它在前一个月有效相关问题 更多 >
编程相关推荐