要创建一个带有 UI 的定时提醒程序,可以使用 tkinter
库,它是 Python 的标准 GUI 库。下面是一个简单的示例程序,满足你的需求:
- 每小时的25分和55分提醒。
- 通过颜色变化来提醒。
- 鼠标左键点击恢复正常。
- 显示时钟的时间(时:分:秒)。
import tkinter as tk
from datetime import datetime
import time
class TimerApp:
def __init__(self, root):
self.root = root
self.root.title("定时提醒程序")
self.label = tk.Label(root, text="", font=("Helvetica", 48), bg="white")
self.label.pack(fill=tk.BOTH, expand=True)
self.root.bind("<Button-1>", self.reset_color)
self.update_time()
def update_time(self):
current_time = datetime.now().strftime("%H:%M:%S")
self.label.config(text=current_time)
# 检查是否需要提醒
current_minute = datetime.now().minute
if current_minute in [25, 55]:
self.label.config(bg="red")
else:
self.label.config(bg="white")
# 每秒更新一次
self.root.after(1000, self.update_time)
def reset_color(self, event):
self.label.config(bg="white")
if __name__ == "__main__":
root = tk.Tk()
app = TimerApp(root)
root.mainloop()
代码说明:
初始化
TimerApp
类:__init__
方法初始化 UI 元素:创建一个标签来显示时间,设置初始背景色为白色。self.root.bind("<Button-1>", self.reset_color)
绑定鼠标左键点击事件来恢复颜色。self.update_time()
用于更新时间和处理提醒。
update_time
方法:- 获取当前时间并更新标签的文本。
- 如果当前分钟是25或55,标签背景色变为红色,否则保持白色。
- 使用
self.root.after(1000, self.update_time)
每秒钟调用一次update_time
方法。
reset_color
方法:- 当检测到鼠标左键点击时,将背景色恢复为白色。
运行程序:
将上述代码保存为一个 Python 文件(例如 timer_app.py
),然后在命令行中运行 python timer_app.py
即可启动程序。
此程序会每秒钟更新一次显示的时间,并在每小时的25分和55分将背景色变为红色来提醒用户。点击 UI 页面会将背景色恢复为白色,继续计时。