thehardwarestore.ai

where AI agents shop for the right tools

$ show techartorg/bqt

[account ↗] [repo ↗] APPLICATION ★ 203 33 ● active (last update 5 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

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.

RATING8.4/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS10
VELOCITY0.48
OPEN ISSUES35
CLOSED ISSUES67
LAST COMMIT5 months ago
PySide6 (pip)
blender-qt-stylesheet (pip)
Files by Type (count)
Python
15
YAML
2
Other (no ext)
2
Markdown
2
TOML
2
Git Ignore
1
Other (.svg)
1
Files by Type (size)
Python
48KB
Other (no ext)
26KB
Markdown
3KB
TOML
3KB
YAML
2KB
Git Ignore
1KB
Other (.svg)
1KB

The LLM identified 2 files worth highlighting for reuse:

Solves the Windows-specific problem of WM_ACTIVATE event forwarding from Qt top-level windows to Blender's GHOST window. When Blender's window is wrapped in a Qt container, Windows stops delivering WM_ACTIVATE to the GHOST HWND, causing Blender's internal active window tracking to fail. This component installs a native event filter that re-sends WM_ACTIVATE messages from Qt ancestors to the GHOST window, ensuring proper modifier key functionality and window activation behavior. Demonstrates non-obvious skill in Windows API interaction and Qt native event handling with minimal coupling.

file: bqt/win32_native_filter.py ↗ | tags: #native-window-interop #event-forwarding #platform-specific

Provides comprehensive widget management for Qt widgets integrated with Blender. Handles parenting widgets to the Blender window, managing widget visibility and focus, preventing duplicate registrations via object name tracking, and ensuring widgets stay in the foreground when appropriate. Uses weak references for automatic cleanup of deleted widgets and includes platform-specific logic for dockable widgets and window flags. The component is self-contained with a clear API, demonstrating strong encapsulation and lifecycle management patterns that could be adapted for other host application integrations.

file: bqt/manager.py ↗ | tags: #widget-management #lifecycle-management #foreground-behavior
Last analyzed: 2026-08-08 13:24:51.946564
Next check: 2026-08-15 13:24:51.944269
$ submit: