QTimer 是一款专为说课、答辩、演讲、会议等场景打造的桌面悬浮倒计时工具。它采用极简的无边框半透明设计,平时安静地悬浮在屏幕角落,鼠标悬停时如丝滑拉开的抽屉般展示控制面板。
- 🪄 PPT 放映全自动计时 (智能防误触):引入底层 Windows API 探测器。当检测到 PowerPoint (PPT) 或 WPS 进入全屏放映模式的一瞬间,计时器将自动开始。严格锚定专属窗口类名,绝对不引发误触,演讲开场更加从容优雅。
- ⏱️ 正计时 / 倒计时混合编排:除了传统的倒计时,现在支持在设置中为任意环节单独配置正计时模式。底层引擎依然保持无误差时间戳锚定,仅在 UI 层进行智能转换。
- 🖥️ 窗口越界保护与置顶优化:新增“防止窗口移出屏幕”功能,无论怎么拖拽,悬浮窗都会被安全“锁”在桌面可视范围内;支持自由开启/关闭窗口置顶(Always on Top)。
- 🔤 极致精简的无字模式:支持一键隐藏“环节名称”文字,悬浮窗会自动收缩多余空隙,化身为一个纯粹的数字时钟,最大程度减少对观众的视觉干扰。
- ⚙️ 设置界面专业化重构:全面优化设置面板的交互文案,去除冗余描述与 Emoji,使用更加专业的表述;取消了环节名称的严苛字符限制(现支持长达 100 字符)。
- 🎯 无误差精准计时 (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 目录,杜绝崩溃。
- ⌨️ 快捷键支持
- 支持自定义全局快捷键(播放/暂停、重置、上一环节、下一环节)。(注:受系统级安全限制,需鼠标点击激活面板时生效)
确保您的电脑已安装 Python 3.7 或更高版本。
安装必须的依赖库 PyQt5:
pip install PyQt5