一款基于PyQt5开发的强大屏幕标注工具,支持多种绘图工具和自定义选项,适用于屏幕截图标注、在线教学演示和演讲辅助等场景。
- 下载最新的发布版本
- 运行
main.exe
- 克隆或下载代码库
- 安装依赖:
pip install PyQt5 pynput
或者
pip install -r requirements.txt
- 运行程序:
python main.py
- windows:直接使用build_optimized.py即可。注意使用目录中的spec文件。
- 直线:绘制直线
- 矩形:绘制矩形框
- 圆形:绘制圆形
- 箭头:绘制带箭头的线条
- 自由绘制:手绘任意形状
- 填充绘制:绘制并填充闭合区域
- 点:绘制小点标记
- 激光笔:模拟激光笔效果,短暂显示后消失
- 颜色选择:支持自定义颜色(含透明度)
- 线条粗细:可调整线条粗细(1-20像素)
- 不透明度控制:分别控制绘图和画布的不透明度
- 撤销/重做:支持多级撤销和重做操作
- 清空画布:一键清除所有标注
- 鼠标穿透:可切换鼠标穿透模式,使鼠标操作可直接作用于下层窗口
- 画布显示/隐藏:可暂时隐藏画布
- 单次绘制模式:每次绘制后自动清空画布,适合演示场景
- 导入/导出:支持将标注内容导出为JSON文件,可随时导入恢复
- 悬浮工具栏:可拖动的悬浮工具栏,包含所有操作
- 工具栏折叠:可折叠工具栏以节省屏幕空间
- 热键支持:全面的热键支持,可自定义所有操作的快捷键
- 热键设置对话框:直观的热键设置界面
- 配置保存:自动保存用户设置,包括颜色、线条粗细、不透明度和热键设置
- 自定义字体大小:可以自定义用户界面的字体大小(不建议过大)
| 功能 | 热键 |
|---|
| 显示/隐藏窗口 | Ctrl+Alt+H |
| 切换鼠标穿透 | Ctrl+Alt+P |
| 显示/隐藏画布 | Ctrl+Alt+V |
| 折叠/展开工具栏 | Ctrl+Alt+T |
| 完全隐藏工具栏 | 自定义 |
| 清空画布 | Ctrl+Alt+C |
| 撤销 | Ctrl+Z |
| 重做 | Ctrl+Y |
| 单次绘制模式 | Ctrl+Alt+S |
| 直线工具 | Ctrl+1 |
| 矩形工具 | Ctrl+2 |
| 圆形工具 | Ctrl+3 |
| 箭头工具 | Ctrl+4 |
| 自由绘制工具 | Ctrl+5 |
| 填充绘制工具 | Ctrl+Shift+5 |
| 点工具 | Ctrl+6 |
| 激光笔工具 | Ctrl+7 |
| 激光笔工具 | Ctrl+8 |
- Windows 7/8/10/11
- Python 3.6+
- PyQt5
- pynput库(用于全局热键支持)
- 启动程序后,将显示全屏透明画布和悬浮工具栏
- 使用工具栏选择绘图工具,或使用相应热键
- 在屏幕上绘制标注
- 使用
Ctrl+Alt+P可切换鼠标穿透模式,使鼠标可操作下层窗口
- 使用
Ctrl+Alt+H可暂时隐藏整个应用
- 使用右下角的保存按钮保存当前设置
- 点击工具栏上的"⚙️ 设置"按钮
- 在打开的设置对话框中修改热键
- 点击"保存"应用新的热键设置
main.py:主程序,包含界面和交互逻辑
gui.py:画布相关实现
shapes.py:各类绘图形状的实现
hotkey_manager.py:热键管理器
hotkey_settings.py:热键设置对话框
config.py:配置文件处理
config.json:用户配置文件
AGPL-3.0
欢迎提交问题报告、功能请求或代码贡献。
- manus
- claude sonnet 4
- 感谢PyQt5提供的强大GUI库
- 感谢pynput库提供的全局热键支持