桌面时钟倒计时组件 – 功能介绍说明

项目简介

桌面时钟倒计时组件是一款专为中学生设计的桌面辅助工具软件,集成了时钟显示、中考倒计时、课程表管理、每日名言/单词学习、通知提醒等多种实用功能。软件采用 Python tkinter 开发,界面简洁美观,操作简单直观,是学生日常学习的得力助手。

核心特色

  • 实时时钟与日期显示:大字体清晰显示当前时间和日期
  • 中考倒计时:动态显示距离中考的天数,颜色随紧迫程度变化
  • 智能课程表:自动显示今日课程,实时标记当前课程状态
  • 每日名言/单词:一键切换获取励志名言或英语单词学习
  • 自定义通知提醒:支持添加多个定时通知
  • 迷你时钟窗口:可拖动的悬浮时钟,显示当前时间和下节课信息
  • 系统托盘支持:关闭窗口后最小化到托盘,不影响其他工作
  • 桌面便签:支持创建多个桌面便签,随时记录重要事项

版本信息


系统要求

操作系统

  • Windows 10 或更高版本(推荐 Windows 10/11)
  • 64位操作系统

运行环境

  • Python 3.8+(开发环境)
  • 或直接运行打包后的可执行文件(无需安装Python)

必需依赖库

库名用途
tkinterGUI界面框架(Python内置)
requests网络请求
win10toastWindows通知
Pillow (PIL)图像处理
pystray系统托盘功能
pywin32Windows API调用

安装与启动

方式一:直接运行可执行文件(推荐)

  1. 从发布页面下载最新版本的压缩包
  2. 解压到任意目录
  3. 双击运行 CountdownApp.exe

方式二:从源码运行

  1. 克隆仓库
   git clone https://github.com/TiantianYZJ/CountdownApp.git
   cd CountdownApp
  1. 安装依赖
   pip install -r requirements.txt
  1. 运行程序
   python CountdownApp.py

打包说明

如需自行打包,可使用 PyInstaller:

pyinstaller pack.spec

打包后的文件将输出到 dist/CountdownApp/ 目录。


主界面功能详解

界面布局

程序启动后,主界面将显示在屏幕正中央,采用左右分栏布局:

┌─────────────────────────────────────────────────────────┐
│                                                         │
│   ┌─────────────────────┐  ┌─────────────────────────┐  │
│   │                     │  │                         │  │
│   │      左侧区域        │  │       右侧区域          │  │
│   │    (时钟/倒计时)    │  │     (课程表)          │  │
│   │                     │  │                         │  │
│   └─────────────────────┘  └─────────────────────────┘  │
│                                                         │
└─────────────────────────────────────────────────────────┘

左侧区域

1. 实时时钟显示

  • 位置:左侧区域顶部
  • 格式HH:MM:SS(24小时制)
  • 字体:Tahoma 大号粗体
  • 颜色:白色
  • 更新频率:每秒自动更新

2. 当前日期显示

  • 位置:时钟下方
  • 格式XXXX年XX月XX日 星期X
  • 示例2025年03月22日 星期六

3. 中考倒计时

  • 位置:日期下方
  • 功能:显示距离中考(默认6月26日)的天数
  • 颜色变化规则
剩余天数颜色含义
> 180天蓝绿色时间充裕
90-180天橙色时间适中
< 90天红色时间紧迫
当天金色中考当天
已过紫色中考已结束
  • 显示示例
  • 距离中考还有「365」天
  • 今天中考!加油!
  • 中考已结束!有缘再会!

4. 名言/单词显示区

  • 位置:倒计时下方
  • 功能:显示励志名言或英语单词
  • 切换方式:点击该区域或右键菜单选择"切换名言/单词"

名言模式

  • 数据来源:一言API (hitokoto.cn)
  • 显示内容:名言正文 + 来源
  • 示例:
  书山有路勤为径,学海无涯苦作舟。
  —— 韩愈

单词模式

  • 数据来源:OIAPI 随机英语词典
  • 显示内容:单词例句(高亮单词)+ 单词释义
  • 示例:
  I want to 「study」 English.
  我想要学习英语。
  * study:学习,研究

右侧区域

1. 今日课程标题

  • 显示格式今日课程(已完成/总数)
  • 示例今日课程(3/8)
  • 进度显示:实时更新已完成的课程数量

2. 课程列表

  • 上午课程:显示在上方
  • 午休分隔线:区分上午和下午
  • 下午课程:显示在下方

课程状态标识

状态显示效果
已结束灰色显示
进行中高亮背景(浅绿色)
未开始正常白色显示

时间判断

  • 提前2分钟进入"预备铃"状态
  • 当前课程会自动高亮显示

3. 状态信息区

显示以下信息(每10秒更新):

  1. 问候语:根据时间显示不同问候
  • 早上(6:00-12:00):🌅 早上好
  • 中午(12:00-14:00):🍱 中午好
  • 下午(14:00-18:00):💪 下午好
  • 晚上(18:00后):🌙 晚上好
  1. 天气信息:显示当前天气和温度
  • 数据来源:心知天气API
  • 示例:当前晴,22°C
  1. 特殊日期提醒
  • 期末考试、清明节、劳动节、中秋节、中考等
  • 示例:📅 距离「中考」还有 95 天
  1. 学习统计
  • 今日已学习时长
  • 即将下课提醒(最后15分钟内)
  • 示例:⏱ 今日已学习 4 小时 30 分钟
  1. 励志鸡汤:随机显示励志语句

4. 功能按钮区

按钮功能
补课设置临时替换当天课程
完整课表查看和编辑完整课程表
全局设置打开设置窗口
更多功能打开右键菜单

课程表管理

查看今日课程

主界面右侧自动显示今日课程,无需手动操作。

补课设置功能

当学校临时调课时,可使用补课设置功能:

  1. 点击「补课设置」按钮
  2. 在下拉菜单中选择要替换成的课程(周一至周五、周日)
  3. 点击「确定」保存

注意事项

  • 补课设置仅当天有效
  • 下次启动程序会自动还原
  • 可点击「还原」按钮取消补课设置

完整课表编辑

  1. 点击「完整课表」按钮
  2. 在弹出的窗口中查看完整周课表
  3. 点击任意课程单元格进行编辑
  4. 输入新课程名称后按回车确认
  5. 点击「保存」保存修改

编辑技巧

  • 直接点击单元格即可编辑
  • 清空内容可删除该课程
  • 修改会保存到本地文件

课程表数据文件

课程表数据存储在 schedule.json 文件中,包含:

  • time_slots:时间段定义
  • school_days:每周课程安排

时间段定义示例

{
  "slot_id": 1,
  "start_time": "08:00",
  "end_time": "08:45"
}

通知系统

通知功能概述

程序支持自定义定时通知,通过 Windows 原生 Toast 通知提醒用户。

默认通知

程序内置两个默认通知:

  • 早读时间:每天 7:30 提醒
  • 放学提醒:每天 21:30 提醒

管理通知

  1. 点击「全局设置」→「管理通知」
  2. 在通知管理窗口中可以:
  • 查看所有通知列表
  • 启用/禁用通知(勾选复选框)
  • 编辑现有通知
  • 删除通知
  • 添加新通知

添加新通知

  1. 点击「添加新通知」按钮
  2. 填写以下信息:
  • 标题:通知标题(必填)
  • 消息:通知内容
  • 时间:选择小时和分钟
  • 启用:是否立即启用
  1. 点击「保存通知」

编辑通知

  1. 在通知列表中点击对应通知的「编辑」按钮
  2. 修改相关信息
  3. 点击「保存修改」

通知开关

在设置窗口中可以全局启用或禁用所有通知:

  • 打开「全局设置」
  • 勾选/取消「启用通知」

扩展功能

右键菜单

在主界面任意位置右键点击,或点击「更多功能」按钮,可打开右键菜单:

菜单项功能说明
每日一笑打开笑话窗口
AI绘画打开AI绘画窗口
系统计算器调用Windows计算器
添加桌面便签创建新的桌面便签
切换名言/单词切换显示模式
重置迷你时钟位置将迷你时钟移回默认位置
重置主窗口位置大小恢复主窗口默认状态
关于显示程序信息
退出退出程序

每日一笑功能

提供两种类型的笑话内容:

  1. 弱智吧:轻松搞笑的段子
  2. 毒鸡汤:反鸡汤式的幽默语录

操作说明

  • 在下拉菜单中选择笑话类型
  • 点击「刷新」获取新内容
  • 点击「收藏」保存喜欢的笑话
  • 点击「查看收藏」管理已收藏的笑话

收藏管理

  • 收藏内容保存在本地
  • 可删除不需要的收藏
  • 显示累计阅读数量

AI绘画功能

使用 OIAPI 提供的 AI 绘画服务:

操作步骤

  1. 输入提示词(描述你想要的画面)
  2. 选择绘画风格:
  • 智能匹配
  • 现代都市
  • 古风武侠
  • 水墨国风
  • 梦幻异世
  • 现代日漫
  1. 选择图片尺寸:
  • 1:1(正方形)
  • 5:7(竖版)
  • 9:16(手机壁纸)
  1. 勾选「智能补充提示词」(推荐)
  2. 点击「生成图片*4」

保存图片

  • 生成后点击图片下方的「保存图片」按钮
  • 选择保存位置和文件名

注意事项

  • 生成需要一定时间,请耐心等待
  • 网络不稳定可能导致生成失败
  • AI生成内容仅供参考

桌面便签功能

创建桌面便签,随时记录重要事项:

创建便签

  • 右键菜单 → 添加桌面便签
  • 可创建多个便签

便签操作

  • 编辑内容:点击便签内容区域
  • 修改标题:点击便签标题
  • 移动位置:按住「≡」拖动
  • 关闭便签:点击「✕」按钮
  • 调整字号:使用底部字号调节器
  • 始终置顶:勾选「始终置顶」

便签特性

  • 黄色便签纸风格
  • 半透明背景
  • 支持多行文本
  • 支持滚动查看长文本

系统计算器

直接调用 Windows 系统计算器,方便进行数学计算。


系统托盘功能

功能说明

程序支持最小化到系统托盘,关闭窗口时不会直接退出程序。

操作方式

操作结果
点击窗口右上角「×」窗口隐藏到托盘,显示提示通知
单击托盘图标恢复显示主窗口
双击托盘图标恢复显示主窗口
右键托盘图标显示菜单

托盘菜单

  • 显示:恢复主窗口
  • 退出:完全退出程序

托盘图标

  • 使用程序 logo.ico 作为托盘图标
  • 鼠标悬停显示「桌面时钟倒计时组件」

迷你时钟窗口

功能说明

迷你时钟是一个小型的悬浮窗口,显示当前时间和下节课信息,方便在全屏模式下查看。

显示内容

  • 当前时间(HH:MM:SS格式)
  • 下节课名称或放学倒计时

显示示例

  • 14:30:25 · 下节「数学」
  • 16:45:00 · 15分钟后放学
  • 21:30:00 · 放学啦!

操作方式

  • 移动位置:拖动迷你时钟窗口
  • 重置位置:右键菜单 → 重置迷你时钟位置

显示设置

在「全局设置」中可以开启或关闭迷你时钟显示:

  • 勾选「显示迷你时钟」:显示迷你时钟
  • 取消勾选:隐藏迷你时钟

设置与配置

打开设置

点击「全局设置」按钮打开设置窗口。

基本设置

中考年份

  • 选择中考所在年份(2026-2048)
  • 倒计时会根据选择的年份计算

显示设置

显示迷你时钟

  • 勾选:显示迷你时钟窗口
  • 取消:隐藏迷你时钟窗口

通知设置

启用通知

  • 勾选:启用所有通知
  • 取消:禁用所有通知

管理通知

点击「管理通知」按钮进入通知管理界面。

保存设置

修改完成后点击「保存」按钮保存设置。


数据存储说明

数据存储位置

所有用户数据存储在以下目录:

%LOCALAPPDATA%\CountdownApp\

完整路径示例:

C:\Users\<用户名>\AppData\Local\CountdownApp\

数据文件说明

文件名说明
data.dbSQLite数据库(设置、通知)
schedule.json课程表数据副本
jokes.json笑话收藏及计数器

数据备份

如需备份数据,只需复制上述目录中的所有文件。

数据恢复

将备份的文件复制回数据目录即可恢复数据。


常见问题解答

Q1: 程序无法启动怎么办?

可能原因及解决方案

  1. 程序已在运行
  • 程序使用互斥体确保单实例运行
  • 检查任务管理器中是否已有进程
  • 检查系统托盘是否已隐藏
  1. 缺少依赖库
  • 确保已安装所有必需依赖
  • 运行 pip install -r requirements.txt
  1. 权限问题
  • 尝试以管理员身份运行

Q2: 名言/单词无法加载?

可能原因

  • 网络连接问题
  • API服务暂时不可用

解决方案

  • 检查网络连接
  • 稍后重试
  • 程序会显示备用内容

Q3: 通知不显示?

检查项

  1. 确认通知功能已启用(设置中勾选)
  2. 确认具体通知已启用(管理通知中勾选)
  3. 检查 Windows 通知设置是否允许
  4. 确认勿扰模式未开启

Q4: 课程表数据丢失?

恢复方法

  1. 检查数据目录中的 schedule.json 文件
  2. 如有备份,复制回数据目录
  3. 重新编辑课程表

Q5: 如何修改中考日期?

中考日期固定为每年6月26日,可通过修改中考年份来调整倒计时:

  1. 打开「全局设置」
  2. 选择新的中考年份
  3. 点击保存

Q6: 迷你时钟位置不对?

点击右键菜单中的「重置迷你时钟位置」可将迷你时钟移回默认位置(屏幕上方居中偏左)。

Q7: 如何完全退出程序?

  • 方式一:右键菜单 → 退出
  • 方式二:托盘图标右键 → 退出

Q8: 窗口透明度可以调整吗?

当前版本窗口透明度固定为 0.65(65%不透明度),暂不支持自定义调整。


快捷操作总结

操作方法
刷新名言/单词点击名言区域
移动主窗口拖动窗口任意位置
打开右键菜单右键点击或点击「更多功能」
隐藏到托盘点击窗口右上角「×」
恢复窗口单击/双击托盘图标
编辑课程点击课程表单元格
编辑便签点击便签内容区域

API 依赖说明

本程序使用以下第三方 API 服务:

API用途服务商
hitokoto.cn随机名言获取一言
oiapi.net英语单词、AI绘画OIAPI
seniverse.com天气信息心知天气
7ed.net笑话内容7ed

注意事项

  • API 服务可能因网络原因暂时不可用
  • 部分API可能有调用频率限制
  • 请遵守各API的使用条款

更新日志

v1.6.0-260111

  • 新增系统托盘功能
  • 新增桌面便签功能
  • 优化课程表显示
  • 修复已知问题

技术支持

联系方式

问题反馈

如遇到问题或有功能建议,请通过以下方式反馈:

  1. 在 GitHub 上提交 Issue
  2. 发送邮件至开发者邮箱

致谢

感谢以下个人和服务:

  • @zhy_0928_fc(创意贡献)
  • 一言API (https://hitokoto.cn/)
  • OIAPI (https://oiapi.net/)
  • 心知天气API (https://www.seniverse.com/)

开源协议

本项目采用 MIT License 开源协议。

MIT License

Copyright (c) 2024 TiantianYZJ

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

文档最后更新:2025年3月22日