前言
Qt Quick开发的窗口,如果电脑是双屏,两个屏幕的缩放比例如果不一样就会发现,窗口在第一次显示的屏幕上是正常的,拖放到另一个屏幕上就会出问题。
本文是在PySide2_5.15.2上测试的。
这是Qt的BUG
Qt rounds DPI scaling在默认情况下是整型的。它的策略是4舍5入。
假如屏幕上使用125%的缩放比例,它被四舍五入为100%,所以窗口大小不会变化,但是内容却会正常缩放,就会导致窗口和内容缩放不一致。
解决方法
解决方法:
修改默认的缩放策略,不让它4舍5入。
示例
1 | from PySide2.QtCore import QCoreApplication, Qt |
主要是以下几行
1 | QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling) |
这个问题在Qt6.2.3
上是已经都解决掉了的。