Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⏱️ QTimer - 极简流线型桌面悬浮计时器

Python Version PyQt5 Platform High DPI Portable

QTimer 是一款专为说课、答辩、演讲、会议等场景打造的桌面悬浮倒计时工具。它采用极简的无边框半透明设计,平时安静地悬浮在屏幕角落,鼠标悬停时如丝滑拉开的抽屉般展示控制面板。


📝 更新日志 (Changelog)

[1.3.2] - 2026-08-05

改进

  • 全面迁移至 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 秒倒数滴答声)。
  • 🛡️ 焦点防抢夺与单例锁
    • 引入 Qt.WA_ShowWithoutActivating 属性,计时器变色闪烁时绝对处于静默状态,绝不打断您在 Word/PPT 中的打字流。
    • 工业级 QSharedMemory 单例锁,彻底阻止程序多开导致的悬浮条重叠。
  • 💾 原子化保存与便携模式 (Portable)
    • 配置默认保存在程序同级目录,方便打包放进 U 盘带走!具备权限智能降级功能,在 C 盘等无权限目录时自动降级保存至 User 目录,杜绝崩溃。
  • ⌨️ 快捷键支持
    • 支持自定义全局快捷键(播放/暂停、重置、上一环节、下一环节)。

🚀 快速上手 (Quick Start)

直接下载预编译版本使用: 下载链接


💖 赞助支持 (Sponsorship)

QTimer 是一款完全开源且免费的项目,由作者利用业余时间开发与维护。如果本项目帮助您提高了开发效率或解决了打包难题,欢迎通过以下方式对项目进行自愿赞助。您的支持将是本项目持续更新的重要动力:

赞助说明:赞助完全出于自愿,属于对开源项目的无偿鼓励,不包含任何商业服务绑定或特定功能开发承诺。非常感谢每一位支持开源创作的朋友!


📄 开源协议 (License)

本项目基于 GNU General Public License v3.0 开源,允许在遵循协议条款的前提下自由分发、修改和二次开发。

Copyright (C) 2026 QwejayHuang.

About

No description, website, or topics provided.

Resources

Stars

30 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages