Qt.py is a single-file Python compatibility shim that provides a unified API across PySide6, PyQt6, PySide2, and PyQt5 Qt bindings. It exports a curated set of common member classes and functions, ensuring that code written with `from Qt import ...` works identically on any supported binding. The library handles disparities in module structure (e.g., QAction location), different signal/slot syntax, and missing utilities like `loadUi` by implementing its own `QUiLoader`-based fallback. It also includes a command-line tool for converting PySide2-compiled .ui files, and supports per-import configuration via environment variables and `QtSiteConfig.py`. While primarily a library, it has CLI entry points and extensive test infrastructure.
BQt is a Blender add-on that integrates PySide6 QtWidgets with Blender, allowing developers to create custom UIs for their add-ons using Qt. The system wraps Blender's native window in a Qt container, manages the Qt event loop alongside Blender's main loop, and provides widget management to ensure Qt widgets stay properly parented and visible relative to Blender windows. It handles platform-specific window management for Windows and macOS to maintain proper focus and activation behavior, including a native event filter that forwards WM_ACTIVATE events on Windows to prevent focus issues when multiple Blender windows are open. The architecture features a modular design with abstract base classes for platform-specific implementations, clean separation of concerns between widget management, application logic, and utilities, and follows Blender add-on conventions.