QTimer 是一款专为说课、答辩、演讲、会议等场景打造的桌面悬浮倒计时工具。它采用极简的无边框半透明设计,平时安静地悬浮在屏幕角落,鼠标悬停时如丝滑拉开的抽屉般展示控制面板。
- 全面迁移至 PySide6:替换原 PyQt5 依赖,全面适配 PySide6 规范。
- 清理废弃特性:移除了 PyQt5 时代的 HighDPI 手动缩放配置,改由 PySide6 原生托管。
- PPT 演示检测优化:
- 响应更敏捷:将 PPT 全屏放映的检测判定阈值从 3 次降至 2 次,缩短自动开始计时的延迟。
- 兼容性增强:扩充了放映窗口类名与标题的匹配规则,对 WPS 及其他演示软件的识别更精准。
- 单实例运行机制优化:防止重复启动时发生异常。
- 设置窗口布局微调:
- 增大设置窗口默认尺寸(780x560)与侧边导航栏宽度(160px),提升显示效果。
- 🎯 无误差精准计时 (Drift-Free Engine)
- 彻底抛弃传统的“累加扣减”计时法。底层采用绝对系统时间戳锚定技术,即使你的电脑瞬间卡顿或 UI 线程阻塞,倒计时也绝对不会产生哪怕 1 秒的误差。
- 🎨 自适应防挤压 UI (Canvas Masking)
- 首创的“底层画布隔离”机制确保文字与倒计时数字绝对不会发生重叠。配合
QPropertyAnimation带来极致丝滑的折叠/展开动画。
- 首创的“底层画布隔离”机制确保文字与倒计时数字绝对不会发生重叠。配合
- 🔄 多环节无缝流转
- 支持自定义多个流程(如:说课 5 分钟 ➔ 答辩 2 分钟)。可开启自动流转模式,倒计时结束自动无缝衔接下一个环节。
- 🔔 多线程智能提醒
- 原生系统音效:支持 Windows (
winsound) 和 macOS (afplay),采用独立守护线程异步播放声音,绝对不卡主界面。支持全局声音一键总控。 - 动态变色闪烁:可自定义时间节点(如剩余 30 秒变黄,剩余 10 秒变红并伴随最后 10 秒倒数滴答声)。
- 原生系统音效:支持 Windows (
- 🛡️ 焦点防抢夺与单例锁
- 引入
Qt.WA_ShowWithoutActivating属性,计时器变色闪烁时绝对处于静默状态,绝不打断您在 Word/PPT 中的打字流。 - 工业级
QSharedMemory单例锁,彻底阻止程序多开导致的悬浮条重叠。
- 引入
- 💾 原子化保存与便携模式 (Portable)
- 配置默认保存在程序同级目录,方便打包放进 U 盘带走!具备权限智能降级功能,在 C 盘等无权限目录时自动降级保存至 User 目录,杜绝崩溃。
- ⌨️ 快捷键支持
- 支持自定义全局快捷键(播放/暂停、重置、上一环节、下一环节)。
直接下载预编译版本使用: 下载链接
QTimer 是一款完全开源且免费的项目,由作者利用业余时间开发与维护。如果本项目帮助您提高了开发效率或解决了打包难题,欢迎通过以下方式对项目进行自愿赞助。您的支持将是本项目持续更新的重要动力:
- ⚡ 请作者喝奶茶:赞助支持 QTimer(支持微信 / 支付宝)
赞助说明:赞助完全出于自愿,属于对开源项目的无偿鼓励,不包含任何商业服务绑定或特定功能开发承诺。非常感谢每一位支持开源创作的朋友!
本项目基于 GNU General Public License v3.0 开源,允许在遵循协议条款的前提下自由分发、修改和二次开发。
Copyright (C) 2026 QwejayHuang.