working-with-qt
Installation
SKILL.md
Working with Qt
Overview
Qt apps use PySide6 with qasync for async integration. Architecture follows Manager -> Service -> Wrapper layering. Never block the event loop.
Key Rules
- PySide6 (LGPL, no system deps) over PyQt
- Never block event loop: no
subprocess.run(), notime.sleep(), no sync HTTP - qasync bridges asyncio and Qt event loops
- ThreadPoolExecutor wraps blocking third-party APIs
- Typed wrappers around untyped libraries, enforced via ruff
banned-api - Signals at class level, not in
__init__ - camelCase for Qt event handlers (ignore ruff N802), snake_case for our slots
Architecture
Related skills