Skip to content

Commit 9afdfc6

Browse files
authored
Add files via upload
1 parent 0172f6d commit 9afdfc6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1452
-0
lines changed

README.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# 倒计时器应用
2+
3+
一个使用Python和PySide6编写的现代化多任务倒计时应用,支持同时管理多个倒计时任务,时间到后会播放用户选择的音频文件并显示提醒文本。
4+
5+
## 功能特点
6+
7+
- 支持管理多个独立的倒计时任务
8+
- 每个任务可设置小时、分钟、秒的倒计时
9+
- 支持自定义提醒文本和音频文件播放
10+
- 倒计时结束时自动播放选定的音频文件,直到用户确认
11+
- 现代美观的暗黑主题界面
12+
- 记住窗口位置和大小
13+
- 支持任务的启用/禁用、暂停/继续、删除等操作
14+
- 倒计时过程中剩余时间颜色变化提示
15+
- 配置自动保存到用户目录
16+
17+
## 安装与使用
18+
19+
### 直接运行
20+
21+
1. 确保已安装Python 3.6+
22+
2. 克隆或下载此仓库
23+
3. 运行`start.bat`脚本启动应用
24+
25+
### 构建为独立可执行文件
26+
27+
1. 运行`build_exe.bat`脚本
28+
2. 构建完成后,可执行文件将位于`dist/倒计时器/`目录下
29+
3. 可将该目录复制到任何地方使用,无需安装Python环境
30+
31+
## 自定义音频文件
32+
33+
将您的音频文件(支持.mp3、.wav、.ogg格式)放入`audio`文件夹,应用启动时会自动识别这些文件。在添加或编辑任务时可以从音频列表中选择提醒音频。
34+
35+
## 配置保存
36+
37+
应用程序配置(包括任务列表、窗口位置和大小)会自动保存在用户目录下的隐藏文件夹中:
38+
39+
```
40+
C:\Users\您的用户名\.countdown_timer\settings.json
41+
```
42+
43+
删除此文件可以重置所有设置。
44+
45+
## 使用指南
46+
47+
### 主界面
48+
49+
- **添加任务**:点击界面右下角的"添加新任务"按钮
50+
- **编辑任务**:双击任务项
51+
- **开始/停止任务**:点击任务项右侧的"开始"或"停止"按钮
52+
- **删除任务**:点击任务项右侧的"删除"按钮
53+
- **调整窗口大小**:自由拖动窗口边缘调整大小,下次打开会保持相同大小
54+
55+
### 任务编辑
56+
57+
- **设置时间**:设置小时、分钟、秒
58+
- **提醒文字**:填写倒计时结束时要显示的提醒文本
59+
- **提醒音频**:选择倒计时结束时要播放的音频文件
60+
- **启用任务**:勾选"启用此任务"复选框启用任务
61+
62+
## 开发文档
63+
64+
### 项目结构
65+
66+
```
67+
countdown-timer/
68+
69+
├── venv/ # Python虚拟环境
70+
├── src/ # 源代码
71+
│ └── main.py # 主程序
72+
├── audio/ # 音频文件夹
73+
│ └── example.mp3 # 示例音频文件
74+
├── icon.ico # 应用图标
75+
├── requirements.txt # 项目依赖
76+
├── README.md # 项目说明
77+
├── start.bat # 一键启动脚本
78+
└── build_exe.bat # 构建可执行文件脚本
79+
```
80+
81+
### 核心组件
82+
83+
#### CountdownTimer 类
84+
主窗口类,包含倒计时应用的主要功能:
85+
- 初始化配置和UI
86+
- 管理多个倒计时任务
87+
- 处理音频播放
88+
- 响应用户交互
89+
- 保存/加载配置文件
90+
- 记住窗口位置和大小
91+
92+
#### Task 类
93+
任务数据模型,存储任务的属性和状态:
94+
- 任务名称、时间设置、提醒文本
95+
- 任务状态(启用/禁用、运行/停止)
96+
- 关联的音频文件
97+
- 剩余时间计算
98+
99+
#### TaskListItem 类
100+
自定义任务列表项组件,显示任务信息和控制按钮:
101+
- 任务状态指示器
102+
- 提醒文本和时间信息显示
103+
- 剩余时间显示
104+
- 开始/停止和删除按钮
105+
106+
#### TaskEditDialog 类
107+
任务编辑对话框,用于创建或编辑任务:
108+
- 时间设置控件
109+
- 提醒文本编辑
110+
- 音频文件选择
111+
- 任务启用设置
112+
113+
### 技术细节
114+
115+
- 使用PySide6(Qt for Python)创建现代化GUI界面
116+
- 使用pygame库播放音频文件
117+
- 使用QTimer处理倒计时
118+
- 使用JSON格式保存和加载用户设置
119+
- 使用PyInstaller打包为独立可执行文件
120+
121+
### 依赖说明
122+
123+
- Python 3.6+
124+
- PySide6: 用于创建现代化GUI界面
125+
- pygame: 用于音频播放
126+
- pyinstaller: 用于构建可执行文件(仅构建时需要)
127+
128+
## 许可
129+
130+
此项目为开源软件,欢迎使用和改进。

audio/Alarm.mp3

9.47 KB
Binary file not shown.

audio/Bells.mp3

32.1 KB
Binary file not shown.

audio/Bells2.mp3

67.1 KB
Binary file not shown.

audio/Bells3.mp3

10.3 KB
Binary file not shown.

audio/Bells4.mp3

33.1 KB
Binary file not shown.

audio/Bells5.mp3

48 KB
Binary file not shown.

audio/Bells6.mp3

56.1 KB
Binary file not shown.

audio/Bells7.mp3

21.8 KB
Binary file not shown.

audio/Birds.mp3

52.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)