Skip to content

martjay/countdown-timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

倒计时器应用

一个使用Python和PySide6编写的现代化多任务倒计时应用,支持同时管理多个倒计时任务,时间到后会播放用户选择的音频文件并显示提醒文本。

功能特点

  • 支持管理多个独立的倒计时任务
  • 每个任务可设置小时、分钟、秒的倒计时
  • 支持自定义提醒文本和音频文件播放
  • 倒计时结束时自动播放选定的音频文件,直到用户确认
  • 现代美观的暗黑主题界面
  • 记住窗口位置和大小
  • 支持任务的启用/禁用、暂停/继续、删除等操作
  • 倒计时过程中剩余时间颜色变化提示
  • 配置自动保存到用户目录

安装与使用

直接运行

  1. 确保已安装Python 3.6+
  2. 克隆或下载此仓库
  3. 运行start.bat脚本启动应用

构建为独立可执行文件

  1. 运行build_exe.bat脚本
  2. 构建完成后,可执行文件将位于dist/倒计时器/目录下
  3. 可将该目录复制到任何地方使用,无需安装Python环境

自定义音频文件

将您的音频文件(支持.mp3、.wav、.ogg格式)放入audio文件夹,应用启动时会自动识别这些文件。在添加或编辑任务时可以从音频列表中选择提醒音频。

配置保存

应用程序配置(包括任务列表、窗口位置和大小)会自动保存在用户目录下的隐藏文件夹中:

C:\Users\您的用户名\.countdown_timer\settings.json

删除此文件可以重置所有设置。

使用指南

主界面

  • 添加任务:点击界面右下角的"添加新任务"按钮
  • 编辑任务:双击任务项
  • 开始/停止任务:点击任务项右侧的"开始"或"停止"按钮
  • 删除任务:点击任务项右侧的"删除"按钮
  • 调整窗口大小:自由拖动窗口边缘调整大小,下次打开会保持相同大小

任务编辑

  • 设置时间:设置小时、分钟、秒
  • 提醒文字:填写倒计时结束时要显示的提醒文本
  • 提醒音频:选择倒计时结束时要播放的音频文件
  • 启用任务:勾选"启用此任务"复选框启用任务

开发文档

项目结构

countdown-timer/
│
├── venv/                   # Python虚拟环境
├── src/                    # 源代码
│   └── main.py             # 主程序
├── audio/                  # 音频文件夹
│   └── example.mp3         # 示例音频文件
├── icon.ico                # 应用图标
├── requirements.txt        # 项目依赖
├── README.md               # 项目说明
├── start.bat               # 一键启动脚本
└── build_exe.bat           # 构建可执行文件脚本

核心组件

CountdownTimer 类

主窗口类,包含倒计时应用的主要功能:

  • 初始化配置和UI
  • 管理多个倒计时任务
  • 处理音频播放
  • 响应用户交互
  • 保存/加载配置文件
  • 记住窗口位置和大小

Task 类

任务数据模型,存储任务的属性和状态:

  • 任务名称、时间设置、提醒文本
  • 任务状态(启用/禁用、运行/停止)
  • 关联的音频文件
  • 剩余时间计算

TaskListItem 类

自定义任务列表项组件,显示任务信息和控制按钮:

  • 任务状态指示器
  • 提醒文本和时间信息显示
  • 剩余时间显示
  • 开始/停止和删除按钮

TaskEditDialog 类

任务编辑对话框,用于创建或编辑任务:

  • 时间设置控件
  • 提醒文本编辑
  • 音频文件选择
  • 任务启用设置

技术细节

  • 使用PySide6(Qt for Python)创建现代化GUI界面
  • 使用pygame库播放音频文件
  • 使用QTimer处理倒计时
  • 使用JSON格式保存和加载用户设置
  • 使用PyInstaller打包为独立可执行文件

依赖说明

  • Python 3.6+
  • PySide6: 用于创建现代化GUI界面
  • pygame: 用于音频播放
  • pyinstaller: 用于构建可执行文件(仅构建时需要)

许可

此项目为开源软件,欢迎使用和改进。

About

Python开发,支持批量任务的倒计时闹钟

Resources

License

Stars

Watchers

Forks

Packages

No packages published