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

Ensure consistent behavior for Window/Widget drawing in a multi-monitor multi-scaled env

    XMLWordPrintable

Details

    • User Story
    • Resolution: Unresolved
    • P3: Somewhat important
    • 6.0
    • 5.14.1
    • GUI: High-DPI
    • Windows

    Description

      Environment:

      • Win10
      • 3 Monitors
        • 1200x1600, dpr 1.0
        • 3840x2160, dpr 1.5
        • 2560x1440, dpr 1.0

      We have an app where there is a window on one of the non-scaled monitors where when we drag the tab and drop it in empty space on that same monitor, the widget pixels for the widgets in the window are scaled down by 50% making all of the GUI elements very large. If you repeat that action, it will correctly scale those pixels. 

      I've observed that when QWidget::metric is fired off the topLevelWindow in the case where pixels are incorrectly scaled will correspond to the primary window (and screen where the DPR is incorrect). The next time we use the repro and QWidget::metric is fired, we will get a different topLevelWindow (and subsequently a different screen) where the DPR is correct. 

      If I add a breakpoint in QLayout::addChildWidget where pw is assigned, I'll see that the pixels are always correctly painted using the appropriate DPR, however the size if the window itself is reduced by 50% (the scale of the DPR for the main screen) with each application of the repro.

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            sorvig Morten Sørvig
            gandaman Jamie Parent
            Veli-Pekka Heinonen Veli-Pekka Heinonen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes