PyQt 5和4k屏幕

n0t*_*tis 3 python dpi qt5 pyqt5

我正在尝试将现有的PyQt5应用迁移到窗口10的高dpi。

Qt5本身的文档在这里谈到了高dpi缩放:http ://doc.qt.io/qt-5/highdpi.html

QT_AUTO_SCREEN_SCALE_FACTOR to "1".
Run Code Online (Sandbox Code Playgroud)

但是我不能在python代码中适应这个:/

任何的想法 ?

Jon*_*han 6

确保您使用的是Qt 5.6+,略过文档要注意,然后更改您的应用程序初始化代码,使其前一行包括后一行(用Python编写),但在C ++中将类似:

os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
qapp = QApplication(sys.argv)
qapp.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
Run Code Online (Sandbox Code Playgroud)

  • 我不确定这对我有用。如果我将窗口移动到设置不同缩放值的监视器,窗口中内容的大小会显着波动。我希望对象的大小看起来大致相同,或者至少不会截断不同窗口中的文本。此功能是否依赖于版本?按照[此处所述](https://wiki.python.org/moin/PyQt/Getting%20the%20version%20numbers%20of%20Qt%2C%20SIP%20and%20PyQt)检查我的版本,我有`QT_VERSION_STR: 5.9 .4`、`PYQT_VERSION_STR:5.9.2`和`SIP_VERSION_STR:4.19.8`。 (2认同)