Qt Creator在3840x2160上"太大",在Windows 10上缩放150%

juz*_*lin 3 windows qt qt-creator hidpi qt5.10

我在Windows 10上安装了Qt 5.10 SDK.我认为HiDPI问题已在Qt 5.6中修复,但Qt Creator似乎仍然"太大":

在此输入图像描述

我错过了什么吗?我的分辨率是3840x2160,"推荐"的150%缩放.后台的Visual Studio大小正确.

小智 17

HighDpiScaleFactorRoundingPolicy我猜QtCreator 的默认值是Round. 所以你只能缩放到 1 或 2 而不是 1.5。

正确的解决办法是设置环境变量:

export QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
./qtcreator.exe
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的答案。Qt 在 Windows 中支持高 DPI 缩放已经有一段时间了,它甚至使用该代码路径,只是它将检测到的 DPI 舍入为整数。因此,在分辨率为 3840x2160、缩放比例为 150% 的 Windows 上,它显示的 UI 缩放比例为 2 倍。单独设置该环境变量就解决了问题。运行“sysdm.cpl”->高级->环境变量和“新建”(用户,系统,您的选择),名称:“QT_SCALE_FACTOR_ROUNDING_POLICY”,值:“PassThrough”。在批处理脚本中,您可以“设置 QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough”。感谢@Bob Brown 的正确答案。 (4认同)

dte*_*ech 7

它可能有自己的hidpi功能,不像传统的Windows东西,只是一个直接的高档,所以它看起来在你的显示器上看起来更大,由你应用的缩放放大.

根据此处的信息,您似乎可以设置自定义比例因子或自定义DPI感知方案.

您可以将它们设置为系统环境变量,或使用一些cmd基本脚本来在每个应用程序级别设置它们:

@echo off 
set QT_SCALE_FACTOR=1
qtcreator.exe
Run Code Online (Sandbox Code Playgroud)

  • 是的,设置环境变量`QT_SCALE_FACTOR=1.5` 解决了这个问题。然而,这不是最终用户应该做的事情。 (2认同)