Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.6.2
-
None
Description
To reproduce, run the attached example PySide6 code.
The code connects to the widget's topLevelChanged event. When this fires, the slot checks if the dock widget is floating, and asserts that self.topLevelWidget() is self. Then it sets the minimum size on the dock's inner widget so that the dock grow when it is set to floating.
Expected result: the dock widget should resize itself when it is dragged out of the dock area, and the dock area should be unaffected since the dock widget is no longer inside it when the resize happens, as proved by the assertion.
Actual result: The dock area resizes when the floating dock widget resizes and it becomes impossible to drop dock widgets onto the dock area unless you force a layout refresh by removing the other dock widget.
If you then drag the enlarged widget back to the dock area, it shrinks back down, but still occupies the larger space in the dock, again until you force a manual layout refresh by rearranging other dock widgets in the same area.
Also here is a video demonstrating the bug: https://www.youtube.com/watch?v=-or0W1xef_I