I posted this as a bug at https://github.com/qgis/QGIS/issues/41248 and
Giovanni Manghi suggested I bring it here.

For a lot of users, QGIS currently shows the main map canvas at the wrong
scale, whenever their systemwide "display scaling"(=logical dpi) doesn't
match their screen's physical dpi. It's disconcerting side-by-side with a
printed map, and just incorrect. We can do better, since Qt exposes both
logical and physical dpi. But fixing it would change on-screen behaviour
users are accustomed to.

I think the right solution is to continue using logical DPI for QGIS UI
elements, but initialize mapCanvas().mapSettings().outputDPI() from
iface.mainWindow().physicalDpiX() rather than .logicalDpiX(). And to make
this change opt-in via a setting in Options / Canvas & Legend called
something like "Render canvas at", with a choice of"System DPI" (=logical
DPI), "Physical screen DPI", or a user-defined DPI (since I'm sure some
external monitors will have physical DPI wrong). 

More details at https://github.com/qgis/QGIS/issues/41248
Comments welcome here or there; I know this will be a bit controversial
since we've all gotten used to the "wrong" way on our screens!



--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Developer-f4099106.html
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to