[Development] Qt high-dpi support update

Tor Arne Vestbø tor.arne.vestbo at digia.com
Fri Nov 21 14:45:41 CET 2014


On 19/11/14 09:55, Morten Johan Sørvig wrote:
> Meeting summary:
>
> * Qt Quick will operate in device pixels and get one or more “device
> independent” units (pt, cm, mm, inches, …)

After chatting with the involved parties, this is a bit more detailed 
breakdown:

QtQuick, from an API pow (Item { width: 500}) will continue to work in 
logical pixels. Logical, because on at least two platforms (iOS and OSX) 
the pixel is not a physical device pixel. On other platforms the logical 
pixel is typically the same as a device/physical pixel, partly because 
the platform doesn't have a concept of devicePixelRatio (yet), and 
partly because we haven't implemented support for it in the platform 
plugin, for platforms where it exists. The latter needs to be fixed by us.

There will be a way to override the device-pixel-ratio on an application 
global level, typically by setting it to 1, in case you want to 
explicitly work in device/physical pixels throughout your app. This will 
influence the entire Qt coordinate system, eg. mouse events, etc, just 
like device-pixel-ratio does today. This is typically not what you would 
do for a cross-platform app, as you would have to deal with density 
differences between platforms yourself.

Work will have to be done on asset management in Qt to make it easier to 
support assets with multiple density levels in a cross-platform manner.

There may be introduced units in Quick that refer to an explicit pixel 
reference, eg 'px' for an explicit device/physical pixel, and 'dp' for a 
density-independent (logical) pixel (these are the names used on 
Android, just as a reference). This topic is still undecided.

tor arne



More information about the Development mailing list