颜色变化时间提醒

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

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 页面会将背景色恢复为白色,继续计时。

目录
相关文章
|
28天前
|
Python
颜色变化时间提醒
【9月更文挑战第11天】
54 11
颜色变化时间提醒
|
4月前
|
图形学
【unity实战】时间控制 昼夜交替 四季变化 天气变化效果
【unity实战】时间控制 昼夜交替 四季变化 天气变化效果
74 0
|
5月前
|
Windows
电脑屏幕亮度无法调整且字体大小变化的解决
电脑屏幕亮度无法调整且字体大小变化的解决
350 1
|
12月前
|
JavaScript 前端开发
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
JavaScript时间戳获取及时间戳判断(同时设置不同的颜色。已开始的事件显示绿色,未开始的事件显示黑色,过去的事件显示灰色)
86 0
|
Windows
笔记本电脑亮度调整无效、字体大小改变的解决方案
本文介绍Windows电脑系统更新或重装系统后,出现屏幕亮度最高且无法调整、电脑字体变小等问题的解决方法~
460 1
笔记本电脑亮度调整无效、字体大小改变的解决方案
|
JavaScript
dhtmlx甘特图marker不随小时移动
dhtmlx甘特图marker不随小时移动
128 1
dhtmlx甘特图marker不随小时移动
把K线的时间增加15分钟
把K线的时间增加15分钟
83 0
|
前端开发 JavaScript NoSQL
[前端]每间隔一段时间查询接口获取到百分比,在页面上按照百分比展示进度条,百分比进度后下载文件
[前端]每间隔一段时间查询接口获取到百分比,在页面上按照百分比展示进度条,百分比进度后下载文件
|
编解码 前端开发 UED
每日一学—设置页面文字大小随屏幕大小变化而变化(rem布局)
每日学一点加强技术水平,夯实基础。 阅读这篇文章,一起学习rem布局吧。
380 0
每日一学—设置页面文字大小随屏幕大小变化而变化(rem布局)
|
存储 流计算 索引
一个简单的时间窗口设计与实现
时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数据,则丢掉 一个简单的实现就是用一个队列来做,新的数据在对头添加;同时起一个线程,不断的询问队尾的数据是否过期,如果过期则丢掉 另外一中场景需要利用到这个时间窗口内的数据进行计算,如计算着五分钟交易中资金的流入流出总和,如果依然用上面的这种方式,会有什么问题?
381 0
一个简单的时间窗口设计与实现