python - PyQt5 中的 devicePixelRatio 损坏

标签 python pyqt qt5 scale dpi

我尝试在 PyQt 中绘制一个 DPI 感知小部件。为此,我尝试获取缩放因子,例如,我想将其与自定义边距相乘。

这是我尝试过的:

self.window().devicePixelRatioF()
QtWidgets.QApplication.instance().devicePixelRatio()

无论窗口中的实际缩放系数如何,两者都返回1.0,这对于 Qt 应用程序确实有效。一切都正确缩放,我只是不知道从哪里获得乘法器。

还有别的办法吗?

最佳答案

对于遇到同样问题的人,以下解决方法为我解决了问题:

scaling = self.logicalDpiX() / 96.0  # self is of QWidget

现在缩放具有精确的Windows缩放因子。 1.01.25 ...

由于这看起来有点像黑客,我不认为这个问题得到了解答。

关于python - PyQt5 中的 devicePixelRatio 损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43428865/

相关文章:

python - pyqt 如何处理默认参数?

qt - 如何将 Qcolor 值转换为十六进制值?

c++ - QtVirtualKeyboard 使用平台 WebGL 卡住 QML 应用程序,但桌面工作正常。如何解冻或解决它?

python - 为什么子图在 x 轴上产生空白区域?

Python 的执行顺序

mysql - QSql 连接并从数据库示例中读取? - 未加载驱动程序

QToolButton 带图标 + 文本 : How to center both?

c++ - 使用 C++ 启动计算机时自动启动应用程序

python - 为什么我不能在 pandas 中将列分成两列?

python - 如何制作条目值列表