Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.5
-
None
Description
Reproducible on Windows 11
Version 10.0.22621 Build 22621
Setup:
Display 1 (Primary): 100% Scale - 1920 x 1080
Display 2 : 150% Scale - 3840 x 2160
Steps:
Move a fixed QWidget with no parent to Secondary Display
Change scale on Display 2 to 100%
(I don't think multiple monitors matter, simply switching DPI causes it)
Expectation:
Widget resizes correctly to the lower DPI
Actual:
Does not resize correctly.
Fails in both directions 100% -> 150% and vice versa.
EDIT: Sorry this might not be the the exact root cause, but without a resize the widget doesn't render correctly
Root cause:
On a geometry change event following a DPI change, isResize will never be true for fixed size windows.
QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent *e)
Minimum reproducible example provided in WindowsDPI_FixedSize.zip
Note: In cases where windows are not a fixed size there always seems to be a minor difference in actualGeometry vs. lastReportedGeometry on a DPI change.
Worth investigating on its own