一个基于 PyWebView 的桌面倒计时小工具,默认倒计时到每天 18:00,并根据月薪估算当前薪资周期和当天已经挣到的金额。
- 倒计时到今天或明天 18:00,按小时、分钟、秒实时翻页显示。
- 输入月薪后,按每月 15 日到次月 15 日的薪资周期估算收入进度。
- 工作时间按工作日 9:00-18:00 计算,周末按休息日处理。
- 支持自定义背景色、渐变色、图片背景和视频背景。
- 支持置顶、无边框窗口和拖拽移动。
- 支持迷你模式,适合放在桌面角落。
- Python 3.9 或更高版本。
- 运行依赖:
pywebview。 - 打包依赖:
pyinstaller。
建议使用虚拟环境安装依赖:
python3 -m venv .venv
source .venv/bin/activate
pip install pywebview pyinstallersource .venv/bin/activate
python main.py启动后会打开一个置顶的无边框窗口。按住窗口标题区域可以拖动位置。
- 月薪:在输入框里填入月薪金额,应用会自动保存,下次启动继续使用。
- 本周期已经挣到:按当前薪资周期内已完成的工作日和当天工作进度估算。
- 今日已经挣到:按当天 9:00-18:00 的工作进度估算。
- 背景:点击右上角“背景”按钮,可以设置纯色、渐变、随机颜色、图片或视频背景。
- 迷你模式:按
Ctrl + W切换为迷你窗口;在迷你模式下双击窗口可恢复。
- 图片支持:
.jpg、.jpeg、.png、.gif、.webp、.bmp。 - 视频支持:
.mp4、.mov、.m4v、.webm。 - 图片会以 base64 形式保存到本地 WebView 存储中。
- 视频保存的是本地文件路径,移动或删除原视频后需要重新选择。
项目已包含 PyInstaller 配置文件 倒计时.spec,可以直接打包:
source .venv/bin/activate
pyinstaller 倒计时.spec打包完成后,可执行文件会生成在 dist/ 目录中。build/ 和 dist/ 已在 .gitignore 中忽略。
也可以不使用 spec 直接打包:
source .venv/bin/activate
pyinstaller --onefile --windowed --name 倒计时 --icon app.ico main.py.
├── main.py # 应用入口,包含窗口、界面和业务逻辑
├── 倒计时.spec # PyInstaller 打包配置
├── app.ico # Windows 图标
├── app.png # 应用图标源图
└── .gitignore
- 每个薪资周期从当月 15 日开始,到下月 15 日结束。
- 月薪会平均分摊到周期内所有工作日。
- 当天进度按 9:00-18:00 线性计算。
- 只排除周六、周日,暂未包含法定节假日或调休规则。
确认已经安装 pywebview,并允许终端或打包后的应用访问本地文件。不同系统 WebView 后端行为可能不同,优先使用虚拟环境运行排查。
确认 app.ico 存在,并使用 倒计时.spec 重新打包。macOS 应用图标通常需要额外的 .icns 配置。
确认视频文件仍在原位置,且格式在支持列表中。视频背景保存的是本地路径,不会复制到应用数据里。