python PyQt 5和4k屏幕

0yycz8jy  于 2023-05-16  发布在  Python
关注(0)|答案(2)|浏览(267)

我正在尝试将现有的PyQt5应用程序迁移到windows 10的高dpi。
Qt5本身的文档在这里谈到了高dpi缩放:http://doc.qt.io/qt-5/highdpi.html

QT_AUTO_SCREEN_SCALE_FACTOR to "1".

但是我不能在python代码中修改它:
你知道吗?

cpjpxq1n

cpjpxq1n1#

确保你使用的是Qt 5.6+,skim the docs to be aware,然后更改你的应用初始化代码,在它之前和之后各包含一行(用Python编写),但在C++中类似:

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

mkshixfv2#

这可能有助于其他人谁发现这个线程,因为我做了,当我遇到类似的问题。
我主要是在我的Windows 10笔记本电脑上开发一个PyQt5应用程序,它具有高dpi显示屏。我注意到在双显示器设置中投影屏幕或将应用程序移动到不同显示器时出现了奇怪的行为。基本上,字体大小会发生巨大的变化,这会导致各种各样的布局问题。
最终,从Windows上阅读有关High DPI Desktop App Dev的内容让我找到了解决方案。建议使用Per-Monitor and Per-Monitor (V2) DPI Awareness。看起来PyQt5不支持这一点,但是PyQt6支持,并且在默认情况下进行了适当的设置。
因此,仅仅将我对PyQt5的依赖升级到PyQt6就解决了我的问题。版本升级需要对我的代码进行一些小的编辑。一个小问题是QActionQtWidgets移动到了QtGui模块。

相关问题