我尝试在PyQt中绘制一个DPI感知小部件。为此,我尝试获取比例因子,例如,我想将其与自定义边距相乘。
这是我尝试过的:
self.window().devicePixelRatioF()
QtWidgets.QApplication.instance().devicePixelRatio()
两者都返回1.0
,而不考虑窗口中的实际比例因子,这确实对Qt应用程序生效。一切都正确缩放,我只是不知道从哪里获得乘法器。
还有别的办法吗?
对于有相同问题的人,以下解决方法为我做到了:
scaling = self.logicalDpiX() / 96.0 # self is of QWidget
现在scaling
具有确切的Windows缩放因子。 1.0
, 1.25
...
由于这似乎有点黑客,我不认为这个问题得到了回答。