PyQt 5 and 4k screen



我正在尝试将现有的pyqt5应用迁移到window 10的High-dpi。

QT5本身的文档在此处谈论高DPI扩展:http://doc.qt.io/qt-5/highdpi.html

QT_AUTO_SCREEN_SCALE_FACTOR to "1".

,但我无法在python代码中调整它:/

有什么想法?

请确保您在QT 5.6 上,浏览文档以意识到,然后更改您的应用程序INIT代码,以在其前和一行之后包含一行(用Python编写)但这在C 中会相似:

os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
qapp = QApplication(sys.argv)
qapp.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

对我而言,这三个添加似乎可以解决:

os.environ["QT_ENABLE_HIGHDPI_SCALING"]   = "1"
os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
os.environ["QT_SCALE_FACTOR"]             = "1"

'qt_scale_factor'是对我影响最大的缩放的人。

这可能对像我一样找到该线程的其他人遇到类似问题时可能会有所帮助。

我主要在Windows 10笔记本电脑上开发一个PyQt5应用程序,并带有高DPI显示屏。我注意到屏幕投影或将应用程序移动到双监视器设置中的其他显示时,我注意到了奇怪的行为。基本上,字体尺寸会发生巨大变化,这引起了布局的各种问题。

最终,从Windows阅读有关高DPI桌面应用程序DEV的信息使我进入了解决方案。他们建议使用Per-Monitor (V2) DPI Awareness。看来Qt5对此没有支持,但是QT6可以默认设置。

因此,仅将我对PyQt5的依赖性升级到PyQt6解决了我的问题。版本升级需要对我的代码进行一些较小的编辑。一个小小的打ic是,QActionQtWidgets移至QtGui模块。

相关内容

  • 没有找到相关文章

最新更新