Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-139307

[REG 5.15.19->6.0.3] Windows: Widgets flicker/jitter when hovering over them in 150% DPI scaling with 'windowsvista' style

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 6.9.1
    • Widgets: Styles
    • Windows
    • ed3cbc1bd (dev), 4352cc24d (6.10)

      When using the 'windowsvista' style on a monitor that is using 150% DPI scaling, hovering the mouse over the widgets causes them to 'flicker' or 'jitter'.

      It looks as though some parts of the hover animation are scaling for 150% and other parts are scaling for 100%. I believe this discrepency is causing the 'jitter'.

      I have noticed that if I use the setting:

      QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Round);

      Then the 'jitter' goes away, presumably because both parts are now being rounded to use 100% scaling. Unfortunately that rounding setting messes up some of our other widgets so it isnt a good solution for us.

      To reproduce this bug:

      • Use a Windows 11 machine
        • I belive it happens on Windows 10 also
      • Use a monitor with %150 DPI scalling.
        • It does also happen with %250, etc, though it is not as noticeable.
        • It does also happen with multiple screens, but to keep things simple, I am using only 1 screen.
      • Compile the attached program with Qt Creator and use the kit 'Desktop Qt 6.9.1 MSVC2022 64bit'
        • This kit comes 'built in' with a stock installation of Qt 6.9.1 on Windows.
      • Run the program and move the mouse over the widgets.

      Expected:

      The normal hovering animation plays smoothly.

      Actual:

      The hovering animation 'jitters' around while it plays, then the widget returns to normal once the animation is over.

       

        1. widget hover jitter.gif
          widget hover jitter.gif
          274 kB
        2. image-2025-08-20-14-25-28-737.png
          image-2025-08-20-14-25-28-737.png
          274 kB
        3. widget hover jitter old.gif
          widget hover jitter old.gif
          299 kB
        4. QTBUG-139307.zip
          4.12 MB
        5. qtdiag_output.txt
          14 kB
        6. with jitter patch.gif
          with jitter patch.gif
          245 kB
        7. with tweaked jitter patch.gif
          with tweaked jitter patch.gif
          602 kB
        For Gerrit Dashboard: QTBUG-139307
        # Subject Branch Project Status CR V

            wladimir.leuschner Wladimir Leuschner
            trist2 Tristan Freeth
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:

                There is 1 open Gerrit change