QShot 是以全域快捷鍵操作的 Windows/macOS 截圖工具。程式啟動後只顯示於系統匣;截圖會直接複製至剪貼簿並顯示預覽。
Windows 版本已完成實機驗證;macOS 後端已完成權限、快捷鍵與目標選取的實機整合驗證。Linux 尚未支援。
- Python 3.12 以上
uv0.11.25 以上- Windows 10/11,或目前受 Apple 支援的 macOS
uv sync
uv run qshotmacOS 第一次使用時,需在「系統設定 → 隱私權與安全性」允許 QShot(或啟動它的終端機)使用「輔助使用」及「螢幕錄製」。
| Windows | macOS | 功能 |
|---|---|---|
| Alt+Shift+A | Opt+Shift+A | 擷取焦點視窗 |
| Alt+Shift+R | Opt+Shift+R | 選取矩形區域 |
| Alt+Shift+F | Opt+Shift+F | 擷取游標所在螢幕 |
| Alt+Shift+W | Opt+Shift+W | 選取游標下的控制元件或視窗 |
- 矩形選取:拖曳滑鼠左鍵選取範圍,放開後擷取;按 Esc 取消。
- 視窗/控制元件選取:移動游標時會以粗框標示目前目標,在框內任意位置按下並放開滑鼠左鍵後擷取;按 Esc 取消。
- Windows 會透過 UI Automation 辨識 Terminal 標籤頁等自繪控制項,也可選取桌面、桌面圖示與工作列;子視窗範圍會裁切至父視窗的可見區域。
- 視窗/控制元件選取期間,滑鼠移動、按鍵與滾輪事件會由 QShot 接收,不會改變下方視窗的 hover 狀態或觸發操作。
- 全螢幕擷取:擷取游標所在的整個螢幕。
- 預覽:顯示於擷取來源螢幕中央;若圖片過大,會等比例縮小至可用畫面的 80%。按任意鍵或點擊預覽本身即可關閉;點擊預覽外部不會關閉。
- 預覽期間再次按截圖快捷鍵,會先關閉原預覽再開始新的截圖。
全域快捷鍵會由 QShot 攔截,不會傳遞至目前具有輸入焦點的程式。
uv run pytest目前測試涵蓋快捷鍵映射、擷取防重入、目標選取輸入處理、預覽重用/縮放/點擊範圍、視窗尺寸與平台共用邏輯。Windows 另已驗證 UI Automation 深層元素解析、父視窗邊界裁切、原生命中測試、輸入選取層策略、快捷鍵註冊/解除、焦點視窗邊界及多螢幕擷取。
初次參與開發者請先閱讀 架構與技術棧,了解模組分工、截圖事件流程與平台後端設計。
- macOS 授予或變更「輔助使用」及「螢幕錄製」權限後,需重新啟動 QShot。
- 受保護內容、系統安全畫面及拒絕螢幕擷取的程式可能無法擷取。
- 不提供圖片存檔、截圖歷史、圖片標註、開機自動啟動或設定介面。