py-gui
Installation
SKILL.md
Python GUI 桌面應用
目標與邊界
用此 skill 建立可維護、不中斷 UI event loop、能正確取消背景工作的桌面應用。先選擇符合授權、平台與功能需求的框架,再設計狀態、執行緒與打包流程。
若只是終端機互動,使用 py-cli;若 UI 只是 Web 前端,使用對應 Web 技術,不要為了桌面外殼強行使用 Python GUI。
執行流程
- 定義平台與交付方式:Windows、macOS、Linux、安裝程式、portable、簽章與自動更新。
- 選擇框架:依 widget 複雜度、授權、原生整合、團隊經驗與打包成本決定。
- 分離狀態與視圖:domain/model 不 import GUI framework;view 不直接承擔資料存取與長任務。
- 設計 event loop 邊界:所有 UI 讀寫在主執行緒;背景工作只透過 queue、signal 或 message 回傳。
- 加入取消與錯誤回報:長工作可取消、可逾時,錯誤轉成使用者可理解訊息。
- 驗證可用性:鍵盤操作、focus、縮放、字型、深淺色、螢幕閱讀器與多螢幕。
- 打包與原生測試:在每個目標 OS 測試啟動、資源、權限、檔案關聯、更新與移除。