Details
-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
5.12.3
Description
When QWidget.move() is called repeatedly with the same coordinates, it should stay in the same spot. In certain situations, doing this causes the widget to bounce back and forth between screens.
Repro setup
Two monitors, both set to 200% scaling, so that they are side-by-side. Enable high-DPI scaling by setting the Qt.AA_EnableHighDpiScaling flag.
1) Run app. With window entirely on left screen, press the button more than once. Note that the position of the small popup widget does not change after the first press.
Expected: popup stays on upper left corner of window.
Actual == expected
2) Now place window entirely on right screen, and repeat.
Expected: popup stays on upper left corner of window.
Actual == expected
3) Now place window roughly in the middle, but mostly on the RHS. You will be able to tell if you are in the right spot because the window geometry's left will be out of screen 0's geometry range, e.g. 3654. Try putting the "D" in "Dump" in the middle of the screen (so it is on both screens). Now click the button multiple times.
Expected: popup stays on upper left corner of window.
Actual: popup goes back and forth between its proper position and the same relative position on the other screen