diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp index 7107e37e40..726b7bc4b2 100644 --- a/src/gui/kernel/qhighdpiscaling.cpp +++ b/src/gui/kernel/qhighdpiscaling.cpp @@ -294,7 +294,9 @@ qreal QHighDpiScaling::rawScaleFactor(const QPlatformScreen *screen) qreal factor; QDpi platformBaseDpi = screen->logicalBaseDpi(); if (usePhysicalDpi) { - qreal platformPhysicalDpi = screen->screen()->physicalDotsPerInch(); + QSize sz = screen->geometry().size(); + QSizeF psz = screen->physicalSize(); + qreal platformPhysicalDpi = ((sz.height() / psz.height()) + (sz.width() / psz.width())) * qreal(25.4 * 0.5); factor = qreal(platformPhysicalDpi) / qreal(platformBaseDpi.first); } else { const QDpi platformLogicalDpi = QPlatformScreen::overrideDpi(screen->logicalDpi());