On martedì 8 novembre 2016 23:02:04 CET, Thiago Macieira wrote:
Agreed we need to adjust the formula. I'm not sure a full round down (i.e., an integer division) is what we want. Another option is

        qRound(dpi / 96.0 - 0.75);

That would make:
        DPI < 168    1x
        DPI < 264    2x
etc.

I suggested a full round down because it mimics the behaviour of GTK3, which seems to work pretty well for them: https://wiki.gnome.org/HowDoI/HiDpi Anyway anythink else will probably work better than the current implementation which is simply broken and must be changed ASAP.


We have plenty of environment variables already. I personally set QT_SCREEN_SCALE_FACTORS to 2 on my 13" 3200x1800 display (font DPI is 216).

# 0 "eDP-1" Depth: 24 Primary: yes
  Geometry: 1600x900+0+0 (native: 3200x1800+0+0) Available: 1600x876+0+0
  Physical size: 294x165 mm  Refresh: 59 Hz Power state: 0
Physical DPI: 138.231,138.545 Logical DPI: 108.085,108.341 (native: 216.17,216.682) Subpixel_None
  High DPI scaling factor: 2 DevicePixelRatio: 2 Pixel density: 3
Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0

AFAIK QT_SCREEN_SCALE_FACTORS doesn't scale fonts, so you will still have to rely on QT_SCALE_FACTOR, which forces you to change the variable every time that you switch to another monitor.
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to