From 64be0e446c5b3a5c5e520123266d1c3ec4f8d26a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 3 Nov 2020 00:17:31 -0500 Subject: [PATCH] Support fully-fractional HiDPI added in Qt 5.14. In order to support fractional HiDPI without rounding, Qt 5.14 added a new policy [1], which allows devicePixelRatioF to actually return fractions, instead of rounded integers. [1] https://doc.qt.io/qt-5/qguiapplication.html#setHighDpiScaleFactorRoundingPolicy --- lib/matplotlib/backends/backend_qt5.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 162af99f0efa..796f7d4b2aa6 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -119,6 +119,11 @@ def _create_qApp(): QtCore.Qt.AA_EnableHighDpiScaling) except AttributeError: # Attribute only exists for Qt>=5.6. pass + try: + QtWidgets.QApplication.setHighDpiScaleFactorRoundingPolicy( + QtCore.Qt.HighDpiScaleFactorRoundingPolicy.PassThrough) + except AttributeError: # Added in Qt>=5.14. + pass qApp = QtWidgets.QApplication(["matplotlib"]) qApp.lastWindowClosed.connect(qApp.quit) cbook._setup_new_guiapp()