【问题标题】:Qt Creator "too big" on 3840x2160 and 150% scaling on Windows 10Qt Creator 在 3840x2160 上“太大”,在 Windows 10 上缩放 150%
【发布时间】:2018-08-22 23:27:39
【问题描述】:

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

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

【问题讨论】:

    标签: windows qt qt-creator hidpi qt5.10


    【解决方案1】:

    它可能有自己的 hidpi 功能,不像传统的 windows 东西只是直接升级,所以它看起来在你的显示器上看起来更大,这被你应用的缩放放大了。

    here 的信息看来,您可以设置自定义比例因子或自定义 DPI 感知方案。

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

    @echo off 
    set QT_SCALE_FACTOR=1
    qtcreator.exe
    

    【讨论】:

    • 是的,设置环境变量QT_SCALE_FACTOR=1.5 解决了这个问题。然而,这不是最终用户应该做的事情..
    • 这是 Qt 可移植性的副作用——它必须在没有 hidpi 概念的平台和本机支持它的平台上工作。 Qt 已经支持“默认”hidpi 一段时间了——也就是说,无论 DPI 如何,它都试图看起来相同,这意味着 hidpi 监视器上的东西实际上更大,并且当你在其上添加 150% 缩放时,它会变得夸张。如果没有任何缩放,它可能看起来还不错,但是由于 windows shell 不支持 hidpi,它看起来太小了。
    【解决方案2】:

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

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

    export QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
    ./qtcreator.exe
    

    【讨论】:

    • 这是正确答案。 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 的正确答案。
    • 这也适用于 GNU/linux。
    猜你喜欢
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多