Using the Windows 10 Display control panel app, I click the "set a custom scaling level" link and set my scaling to 125%, 150%, or 250%. I then click OK, Apply, log out, and log back in.
If I run the attached application, QPaintDevice::devicePixelRatioF() always returns an integer when I would expect it to return a non-integer value (eg. 1.25, 1.5, 2.5 respectively).
I get the same results if either of the following environment variables is set as specified:
I believe this happens because in QWindowsScreen::pixelDensity(), there is a qRound (line 287) that rounds the returned value.