HeartOverflow 是仅适用于 Windows 的 tkinter 桌面弹窗演出。本仓库提供完整、可继续开发的源码和 PyInstaller 构建配置,不包含 HeartOverflow.exe、build/ 或 dist/ 构建产物。
HeartOverflow 源码公开,仅供个人学习、技术交流和非商业演示。作者为 Houdao Chen。在保留作者署名、项目来源和许可声明的前提下,可以研究、修改并进行非商业分享。
本项目采用自定义的非商业学习交流许可,并非 OSI 认可的开源许可证;请勿将“源码公开”理解为允许不受限制地使用或商用。
未经作者书面许可,不得将本项目或修改版本用于商业用途、付费分发、二次销售或冒充原创;不得用于骚扰、恶意弹窗或其他违法、损害他人权益的用途。完整授权条件、免责声明及第三方依赖说明见根目录 LICENSE。
在源码目录执行不带参数的 python src/main.py,或自行构建后双击 HeartOverflow.exe,会显示“心动过载 · HeartOverflow”启动窗口:
- “那就直接开始吧!”:直接运行 Full;
- “先偷偷看一眼噢”:直接运行 Preview;
- “下次一定”:退出。
Enter 等价于第一个按钮;Escape 或关闭启动窗口会安全退出。选择 Full 后不会再次确认。启动窗口销毁后才创建演出根窗口,并且不计入演出窗口硬上限。
| 模式 | 爱心窗口 | 随机窗口 | 生命周期硬上限 | 用途 |
|---|---|---|---|---|
| Quick Preview | 56 | 40 | 120 | 快速安全验证 |
| Preview | 96 | 100 | 240 | 较完整的预览体验 |
| Full | 68 | 256 | 360 | 已完成最终人工验收的正式演出 |
大量 Windows 原生窗口的创建与合成速度会受到 CPU、录屏软件、显示器数量和系统负载影响。程序保留隐藏构建、绘制背压和可见性屏障,渲染完整性优先于精确时间。
需要 Python 3.10 或更高版本。运行时仅使用 Python 标准库:
python src/main.py
python src/main.py --full
python src/main.py --preview
python src/main.py --quick-preview
python src/main.py --heart-only
python src/main.py --random-only无参数显示启动窗口;所有显式模式参数都直接运行,不显示启动窗口。无效参数会清晰报错并安全退出,不会回退到 Full。
演出任何阶段均可按 Escape。最终留言可通过 Windows 标题栏关闭按钮退出;Preview 与 Quick Preview 还会按配置自动退出。所有路径都进入统一、幂等 cleanup,程序只销毁自身持有引用的窗口。
python -m unittest discover -s tests -v
python -m PyInstaller --clean --noconfirm HeartOverflow.spec构建依赖见 requirements.txt。文案集中在 content/messages.zh-CN.json,参数集中在 scenes/default_scene.json;修改任一资源后必须重新运行测试并重新打包,已有 EXE 不会自动读取源码目录中的新内容。