Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

martjay/countdown-timer

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

Contributors

AltStyle によって変換されたページ (->オリジナル) /