1

我正在使用 PyQt5 和 Python 3.6.4 为程序设计 ui。它是在 720p 显示器上制作的,但现在在 4k 显示器上使用相同的代码,除了文字之外,一切都很微小。我将如何调整整个应用程序的大小以在所有显示器上看起来都一样:(720p、1080p、4k 等)该程序将通过编译 python 代码创建的可执行文件在 Windows 上运行。干杯

4

2 回答 2

4

为任何需要的人提供简单的 1 行修复

os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"

于 2018-03-01T11:56:44.407 回答
1

这在一定程度上取决于系统,因此如果您提及您的目标平台会有所帮助。

因为 PyQt5 只是 Qt5 的包装器,所以我认为Qt 手册中的High DPI Displays适用。引用相关位(但您应该阅读整件事):

为了让为低 DPI 值设计的应用程序在高分辨率显示器上快速运行,请考虑缩放选项之一(让应用程序在 Windows 上以 DPI Unaware 的方式运行或将环境变量 QT_AUTO_SCREEN_SCALE_FACTOR 设置为“1”。这些选项可能会导致不过,一些缩放或绘画工件。

从长远来看,应用程序应该适合在未经修改的情况下运行:

  • 始终使用 QPainter 绘图 API 的 qreal 版本。
  • 根据屏幕大小调整窗口和对话框的大小。
  • 将布局和绘图代码中的硬编码大小替换为根据字体度量或屏幕大小计算的值。

在 shell 中,您可以执行以下操作:

$ export QT_AUTO_SCREEN_SCALE_FACTOR=1
$ python my_application.py
于 2018-03-01T11:12:31.870 回答