build: support PySide6 6.11.1, pyqtgraph 0.14 and PySide6-QtAds 5.0.0#1242
build: support PySide6 6.11.1, pyqtgraph 0.14 and PySide6-QtAds 5.0.0#1242wyzula-jan wants to merge 4 commits into
Conversation
ee0d347 to
9fe5174
Compare
…, remove force x11 on Linux
9fe5174 to
052cb43
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the widget stack to newer Qt/PySide6 + pyqtgraph + QtAds versions and adjusts several widget utilities/tests to accommodate behavioral changes in those upstream libraries (notably paint-event safety, palette roles, and view-range handling).
Changes:
- Bump runtime dependencies to PySide6 6.11.1, pyqtgraph 0.14.0, and PySide6-QtAds 5.0.0.
- Harden Qt/pyqtgraph interactions (heatmap config label legend samples, crosshair event handling, dock-area cleanup, widget close cleanup ordering).
- Update unit tests/fixtures to reflect new event/range behavior and to reduce cross-test leakage (console registry cleanup, explicit
show()/ranges).
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
pyproject.toml |
Updates pinned PySide6 / pyqtgraph / QtAds dependency versions. |
bec_widgets/widgets/plots/heatmap/heatmap.py |
Avoids crashy legend sample painting by using a text-only legend sample for config label rows. |
bec_widgets/utils/crosshair.py |
Refines crosshair move/click handling by validating against view range and using public event APIs. |
bec_widgets/utils/bec_widget.py |
Sets _destroyed before calling cleanup() to reduce re-entrancy risk during close. |
bec_widgets/widgets/containers/dock_area/basic_dock_area.py |
Adds a dock-area cleanup() that tears down docks through the QtAds API before base cleanup. |
bec_widgets/widgets/editors/bec_console/bec_console.py |
Avoids using a window as a parking parent when it is marked destroyed. |
bec_widgets/widgets/utility/spinner/spinner.py |
Uses palette highlight() instead of accent() for consistent theming on Qt 6.10+. |
bec_widgets/utils/forms_from_types/styles.py |
Builds a theme palette directly from theme XML mapping and uses highlight() for accent color. |
bec_widgets/applications/__init__.py |
Removes import-time forcing of QT_QPA_PLATFORM and keeps only QtAds configuration flags. |
tests/unit_tests/conftest.py |
Clears the console registry during teardown to prevent test leakage. |
tests/unit_tests/test_crosshair.py |
Updates crosshair tests to use manual_pos, explicit view ranges, and public click-event APIs. |
tests/unit_tests/test_image_view_next_gen.py |
Sets view range in tests to make crosshair/profile behavior deterministic. |
tests/unit_tests/test_heatmap_widget.py |
Adds a regression test ensuring config label paint passes safely using the new legend sample. |
tests/unit_tests/test_device_manager_view.py |
Ensures the widget is shown before waitExposed() for reliable exposure checks. |
tests/unit_tests/test_widget_io.py |
Updates expected exported widget tree keying for the table corner button name. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…o prevent segfaults on ci machines
e79294e to
43cf118
Compare
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Benchmark comparisonThreshold: 20% (lower is better). No benchmark regression exceeded the configured threshold. No benchmark improvement exceeded the configured threshold. All benchmark results
|
Description
This PR update core dependencies and adjust project to be compatible with:
The main feature is Wayland support by QtADS 5.0.0, so we can drop x11 forcing on Linux.
Related Issues
Irrelevant PRs after this is merged
Potential side effects
Major dependencies update, caution required...
Additional Comments
Tested at SIM
x11ma-vcons-test-01, dock actions, pyqtgraph, terminal seems to work as expected.