Skip to content

About

提醒定时喝水

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

喝水提醒助手 (Hydration Reminder)

一款基于 Python 开发的桌面端喝水提醒工具,支持系统托盘运行、自定义提醒间隔、日志记录与管理,帮助用户养成规律饮水的健康习惯。

功能特点

  • 单实例运行:避免重复启动,已运行时会提示并自动退出新实例
  • 系统托盘常驻:最小化时隐藏到系统托盘,不占用桌面空间
  • 自定义提醒间隔:可自由设置喝水提醒频率(默认20分钟)
  • 实时倒计时显示:主界面实时展示距离下次提醒的时间
  • 日志管理:
    • 自动记录程序运行日志(启动、停止、提醒、操作等)
    • 自动清理30天前的旧日志,节省存储空间
    • 支持手动删除历史日志、打开日志文件夹
  • 桌面快捷方式:首次运行自动创建桌面快捷方式,方便后续启动
  • 友好UI设计:简洁清晰的界面,支持窗口居中显示、置顶提醒弹窗

环境要求

环境/依赖 说明
操作系统 Windows(依赖 pywin32 实现单实例、快捷方式功能,暂不支持 macOS/Linux)
Python 版本 Python 3.7 及以上
依赖库 tkinter(Python 内置,一般无需额外安装)、Pillow、pystray、pywin32

安装步骤

1. 安装 Python

前往 Python 官网 下载并安装 Python 3.7+,安装时需勾选 "Add Python to PATH"。

2. 安装依赖库

打开命令提示符(CMD)或终端,执行以下命令安装所需依赖:

pip install Pillow pystray pywin32

3. 获取代码

  • 方式1:直接复制代码到本地,保存为 HydrationReminder.py
  • 方式2:通过 Git 克隆(若代码已托管到仓库):
    git clone <仓库地址>
    cd <仓库目录>

使用说明

1. 启动程序

  • 首次启动:双击 HydrationReminder.py,程序会自动创建桌面快捷方式(该功能正在开发中,暂时还未上线)
  • 后续启动:双击桌面的「HydrationReminder」快捷方式,或再次运行 HydrationReminder.py

2. 主界面操作

功能区域 操作说明
状态显示 显示当前提醒服务状态(运行中/已停止)及当前提醒间隔
提醒间隔设置 在输入框中输入数字(分钟),点击「开始提醒」生效
倒计时显示 提醒服务运行时,实时显示距离下次提醒的时间(格式:MM:SS)
开始/停止提醒 点击按钮切换提醒服务状态(运行时显示「停止提醒」,停止时显示「开始提醒」)
关闭程序 点击「关闭程序」彻底退出(仅隐藏窗口可通过系统托盘恢复)

3. 系统托盘操作

程序最小化或关闭主窗口后,会在系统托盘(任务栏右下角)显示「水滴」图标,右键图标可展开菜单:

  • 打开主界面:恢复显示主窗口
  • 开始提醒:启动提醒服务(勾选状态表示当前已运行)
  • 停止提醒:暂停提醒服务
  • 打开日志文件夹:打开日志存储目录,查看所有运行日志
  • 删除历史日志:删除除当前运行日志外的所有旧日志
  • 退出程序:彻底关闭程序(与主界面「关闭程序」功能一致)

4. 提醒弹窗

当提醒时间到达时,会弹出置顶的提醒窗口,点击「确定」后,程序会自动计算下次提醒时间并继续倒计时。

日志说明

日志存储位置

程序会在当前运行目录下创建 HydrationReminderLog 文件夹,所有日志文件均保存在此目录中。

日志文件命名规则

日志文件以「启动时间」命名,格式为:YYYY-MM-DD_HH-MM-SS.log(例如:2024-05-20_14-30-00.log)。

日志自动清理

程序每次启动时,会自动删除 30天前 的旧日志,仅保留近30天的日志文件和当前运行日志,避免占用过多磁盘空间。

常见问题

Q1:启动时提示「请先安装必要依赖库: pip install pywin32」

解决方法:打开 CMD,执行 pip install pywin32,安装完成后重新启动程序。

Q2:程序已运行,但找不到主界面

解决方法:查看系统托盘(任务栏右下角),右键「水滴」图标,选择「打开主界面」。

Q3:桌面没有生成快捷方式

解决方法:

  1. 检查是否有权限在桌面创建文件(管理员身份运行程序尝试)
  2. 手动创建快捷方式:右键 HydrationReminder.py → 发送到 → 桌面快捷方式

Q4:提醒弹窗不显示

解决方法:

  1. 检查程序是否处于「提醒运行中」状态(系统托盘菜单「开始提醒」是否勾选)
  2. 检查系统是否禁止了程序的弹窗通知(在系统设置中允许程序发送通知)

注意事项

  1. 操作系统限制:当前版本依赖 pywin32 库,仅支持 Windows 系统,macOS 和 Linux 系统暂不兼容。
  2. 单实例限制:同一台电脑只能运行一个程序实例,重复启动会提示「已在运行」并自动退出。
  3. 日志保留:手动删除历史日志时,程序会保留当前正在写入的日志文件(避免删除正在使用的日志)。
  4. 权限问题:若无法创建快捷方式或日志文件夹,尝试以「管理员身份」运行程序。

开发说明

主要依赖库功能

  • tkinter:构建主界面和提醒弹窗
  • Pillow (PIL):生成系统托盘图标(水滴形状)
  • pystray:实现系统托盘功能(图标显示、右键菜单)
  • pywin32:实现单实例运行限制、创建桌面快捷方式
  • logging:记录程序运行日志
  • threading:实现提醒倒计时的多线程处理(避免阻塞主界面)

若在使用过程中遇到问题,可查看日志文件定位问题,或提交 Issue 反馈。

About

提醒定时喝水

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages