一个基于 Python Tkinter 开发的本地桌面万年历备忘录工具,集成日期筛选、到点提醒、搜索排序、逾期处理、迷你悬浮待办窗口和 JSON 备份恢复功能。
它适合个人日常待办、项目跟进、临时提醒和本地离线备忘场景。所有数据默认保存在本机,不依赖服务器、不依赖浏览器,也不需要联网。
- 左侧月历视图,支持按年份和月份切换
- 单击日期:筛选该日期的备忘事项
- 双击日期:快速新增该日期的事项
- “今日”按钮:跳转到今天并恢复显示全部事项
- 日历日期格内显示事项数量提示:
- 1~3 条事项显示小圆点
- 4 条及以上显示数字徽标
- 10 条及以上显示
9+
- 添加、编辑、删除备忘事项
- 支持多选批量操作
- 支持标记完成、恢复提醒
- 支持四象限优先级:
- 不重要不紧急
- 不重要紧急
- 重要不紧急
- 重要紧急
- 支持事项状态显示:
- 待提醒
- 已提醒
- 已完成
- 逾期
- 关键词搜索
- 按日期筛选
- 按优先级筛选
- 按状态筛选
- 支持排序方式:
- 时间升序
- 时间降序
- 优先级高到低
- 优先级低到高
- 状态排序
- 逾期优先
- 到达设定日期和时间后弹窗提醒
- 提醒窗口置顶显示
- 支持提示音提醒(Windows 环境)
- 提醒后事项自动变为“已提醒”,避免重复弹窗
- 弹窗中显示事项日期、时间、内容和优先级色条
- 未完成且时间已过的事项会显示为逾期
- 逾期事项高亮显示
- 支持当前筛选范围内批量完成逾期事项
- 支持当前筛选范围内批量恢复逾期提醒
- 恢复逾期提醒时会自动顺延 5 分钟,避免恢复后立即连续弹窗
- 内置悬浮待办窗口
- 窗口置顶显示,适合边工作边查看待办
- 支持今日、待提醒、已提醒、已完成、逾期、全部等视图
- 支持搜索和优先级筛选
- 支持滚轮滚动
- 可从迷你窗定位到主窗口中的对应事项
- 右上角支持导出 JSON 备份
- 支持导入 JSON 备份
- 导入时可选择:
- 覆盖当前数据
- 合并到当前数据
- 合并导入时会自动处理 ID 去重
- Python 3.8 或更高版本
- Tkinter
Tkinter 通常随 Python 官方安装包一起安装。如果运行时报 _tkinter 相关错误,建议安装 Python 官方完整版。
将 MemoCalendarReminder.py 放到你希望保存项目的目录,例如:
G:\python\memo_calendar\
cd /d G:\python\memo_calendarpython MemoCalendarReminder.py如果你的 Python 没有加入 PATH,可以使用完整路径运行:
G:\python\python.exe MemoCalendarReminder.py检查 Python 版本:
python --version检查 Python 路径:
where python检查 Tkinter:
python -c "import tkinter; print('tkinter ok')"检查源码语法:
python -m py_compile MemoCalendarReminder.py程序会自动在本机创建数据目录并保存备忘录数据。
Windows 默认数据文件位置:
%APPDATA%\MemoReminder\memo_data.json
macOS / Linux 默认数据文件位置:
~/.memo_reminder/memo_data.json
建议定期使用程序右上角的“导出备份”功能,把备份文件保存到安全位置。
如果希望在没有 Python 环境的电脑上使用,可以通过 PyInstaller 打包为单文件 EXE。
python -m pip install -U pyinstallerpyinstaller --onefile --noconsole --name MemoCalendarReminder MemoCalendarReminder.py打包完成后,EXE 文件通常位于:
dist\MemoCalendarReminder.exe
如果第一次打包后无法启动,建议先去掉 --noconsole,这样可以看到报错信息:
pyinstaller --onefile --name MemoCalendarReminder MemoCalendarReminder.py确认没有问题后,再使用 --noconsole 生成正式版本。
推荐使用这个命令:
pyinstaller --onefile --windowed --clean --name MemoCalendarReminder MemoCalendarReminder.pymemo-calendar-reminder/
├─ MemoCalendarReminder.py
├─ README.md
├─ docs/
│ └─ 万年历备忘录开发指南.md
├─ backups/
│ └─ memo_backup_YYYYMMDD_HHMM.json
└─ dist/
└─ MemoCalendarReminder.exe
说明:
MemoCalendarReminder.py:主程序源码README.md:项目说明文档docs/:开发指南或使用说明backups/:建议存放导出的 JSON 备份dist/:PyInstaller 打包后的输出目录
- 单击日历中的日期,可以快速聚焦处理某一天的事项
- 双击日期,可以快速新增当天事项
- 工作时可以打开“迷你窗”,作为悬浮待办列表使用
- 对积压事项建议使用“逾期优先”排序
- 每周导出一次 JSON 备份,便于换电脑或重装系统时恢复
- 本工具定位为个人本地桌面工具,适合单人使用
- 数据以 JSON 形式保存在本机
- 当前版本不依赖数据库和网络服务
- 源码中已包含重复字段和重复选项,后续可以继续扩展为真正的循环提醒规则
- 支持 5 / 10 / 30 / 60 分钟稍后提醒
- 支持自定义勿扰时间段
- 支持电脑睡眠或重启后的错过提醒补弹
- 将 JSON 数据升级为 SQLite 存储
- 增加快捷键:Ctrl+N 新建、Ctrl+F 搜索、Delete 删除、Ctrl+S 保存
- 增加导入导出 CSV
- 增加主题颜色和字体大小设置
- 增加系统托盘图标
当前源码版本:
v14-left400-square-cells-2026-02-11
本项目可作为个人桌面工具自由使用和修改。正式开源前,建议根据你的发布需求补充 MIT、Apache-2.0 或其他开源协议文件。
