我正在尝试将现有的PyQt5应用程序迁移到windows 10的高dpi。
Qt5本身的文档在这里谈到了高dpi缩放:http://doc.qt.io/qt-5/highdpi.html
QT_AUTO_SCREEN_SCALE_FACTOR to "1".
但是我不能在python代码中修改它:
你知道吗?
我正在尝试将现有的PyQt5应用程序迁移到windows 10的高dpi。
Qt5本身的文档在这里谈到了高dpi缩放:http://doc.qt.io/qt-5/highdpi.html
QT_AUTO_SCREEN_SCALE_FACTOR to "1".
但是我不能在python代码中修改它:
你知道吗?
2条答案
按热度按时间cpjpxq1n1#
确保你使用的是Qt 5.6+,skim the docs to be aware,然后更改你的应用初始化代码,在它之前和之后各包含一行(用Python编写),但在C++中类似:
mkshixfv2#
这可能有助于其他人谁发现这个线程,因为我做了,当我遇到类似的问题。
我主要是在我的Windows 10笔记本电脑上开发一个
PyQt5
应用程序,它具有高dpi显示屏。我注意到在双显示器设置中投影屏幕或将应用程序移动到不同显示器时出现了奇怪的行为。基本上,字体大小会发生巨大的变化,这会导致各种各样的布局问题。最终,从Windows上阅读有关High DPI Desktop App Dev的内容让我找到了解决方案。建议使用
Per-Monitor and Per-Monitor (V2) DPI Awareness
。看起来PyQt5
不支持这一点,但是PyQt6支持,并且在默认情况下进行了适当的设置。因此,仅仅将我对
PyQt5
的依赖升级到PyQt6
就解决了我的问题。版本升级需要对我的代码进行一些小的编辑。一个小问题是QAction
从QtWidgets
移动到了QtGui
模块。