桌面倒计时代码
时间: 2023-07-03 20:25:50 浏览: 154
以下是一个简单的桌面倒计时代码,使用 Python 的 tkinter 库实现:
```python
import tkinter as tk
from datetime import datetime, timedelta
class Countdown:
def __init__(self, master, end_time):
self.master = master
self.end_time = end_time
self.remaining = timedelta()
self.label = tk.Label(master, text="", font=("Helvetica", 48))
self.label.pack()
self.update()
def update(self):
now = datetime.now()
self.remaining = self.end_time - now
if self.remaining <= timedelta():
self.label.configure(text="Time's up!")
return
hours, remainder = divmod(self.remaining.seconds, 3600)
minutes, seconds = divmod(remainder, 60)
self.label.configure(text=f"{hours:02d}:{minutes:02d}:{seconds:02d}")
self.master.after(1000, self.update)
# 设置倒计时结束时间
end_time = datetime.now() + timedelta(minutes=30)
# 创建GUI窗口
root = tk.Tk()
root.title("Countdown")
# 创建倒计时实例
countdown = Countdown(root, end_time)
root.mainloop()
```
这个代码创建了一个名为 Countdown 的类,它接收一个 tkinter 窗口对象和一个 datetime 对象作为参数。在类的构造函数中,它创建了一个标签,用于显示倒计时,然后调用 update() 方法来更新标签的文本。update() 方法计算当前时间与结束时间之间的时间差,并将其格式化为小时:分钟:秒的形式,然后将其设置为标签的文本。最后,它使用 `after()` 方法来在每秒钟更新一次倒计时文本。
在主程序中,我们设置了倒计时结束时间为当前时间加上 30 分钟,并创建了一个 tkinter 窗口对象。然后,我们创建了 Countdown 类的一个实例,并将它放入窗口中。最后,我们启动了 tkinter 的事件循环,并等待用户关闭窗口或倒计时结束。
阅读全文