颜色变化时间提醒

简介: 【9月更文挑战第11天】

image.png

要创建一个带有 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()

代码说明:

  1. 初始化 TimerApp

    • __init__ 方法初始化 UI 元素:创建一个标签来显示时间,设置初始背景色为白色。
    • self.root.bind("<Button-1>", self.reset_color) 绑定鼠标左键点击事件来恢复颜色。
    • self.update_time() 用于更新时间和处理提醒。
  2. update_time 方法

    • 获取当前时间并更新标签的文本。
    • 如果当前分钟是25或55,标签背景色变为红色,否则保持白色。
    • 使用 self.root.after(1000, self.update_time) 每秒钟调用一次 update_time 方法。
  3. reset_color 方法

    • 当检测到鼠标左键点击时,将背景色恢复为白色。

运行程序:

将上述代码保存为一个 Python 文件(例如 timer_app.py),然后在命令行中运行 python timer_app.py 即可启动程序。

此程序会每秒钟更新一次显示的时间,并在每小时的25分和55分将背景色变为红色来提醒用户。点击 UI 页面会将背景色恢复为白色,继续计时。

目录
相关文章
|
6月前
|
C#
24. C# 编程:用户设定敌人初始血值的实现
24. C# 编程:用户设定敌人初始血值的实现
61 0
|
5月前
|
图形学
【unity实战】时间控制 昼夜交替 四季变化 天气变化效果
【unity实战】时间控制 昼夜交替 四季变化 天气变化效果
109 0
|
2月前
|
Python
颜色变化时间提醒
【9月更文挑战第10天】
41 9
|
2月前
|
存储 测试技术 定位技术
需要统计出轨迹点出入某个区域的信息,包括:驶入时间、驶出时间
Lindorm Ganos 通过内置的 `ST_TrajectoryProfile` 算子高效统计轨迹的出入信息,利用时空索引技术减少扫描量和内存使用,降低计算成本。它通过空间索引+过滤下推减少扫描量,聚合加速提升效率,并在聚合算子内部完成进出点判断和轨迹信息提取。然而,该算子受限于时间阈值设定,可能在轨迹点不均匀采集时产生误差。测试环境下,查询耗时在20秒内,具体表现取决于过滤后的数据量和空间范围复杂度。
13 0
|
6月前
|
Windows
电脑屏幕亮度无法调整且字体大小变化的解决
电脑屏幕亮度无法调整且字体大小变化的解决
363 1
|
JavaScript 前端开发
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
93 0
uniapp写一个随时间变化的预约日期列表
const today = new Date(); const dateArray = []; const dayOfWeekArray = []; const yearMonthDayArray = [];
88 0
|
Windows
笔记本电脑亮度调整无效、字体大小改变的解决方案
本文介绍Windows电脑系统更新或重装系统后,出现屏幕亮度最高且无法调整、电脑字体变小等问题的解决方法~
473 1
笔记本电脑亮度调整无效、字体大小改变的解决方案
如何检查视频画面延迟的时间
做视频通讯的朋友,画面延迟,就是要经常测试的事情。那么怎样测试延迟呢?
454 0
把K线的时间增加15分钟
把K线的时间增加15分钟
98 0