gpt4 book ai didi

c++ - Windows 10 中 Qt 桌面应用程序的不当缩放

转载 作者:可可西里 更新时间:2023-11-01 18:26:16 26 4
gpt4 key购买 nike

我正在为 Windows 10 编写一个简单的 Qt(Widgets)Gui 应用程序。我正在使用 Qt 的 5.6.0 测试版。

我遇到的问题是它根本无法缩放到我的 surfacebook 屏幕:

enter image description here

这有点难说,因为 SO 缩放了图像,但请注意停靠小部件标题栏控件相对于窗口标题栏控件有多小。

This link来自 Qt 谈论缩放,但它主要关注 qml/qtQuick 和一般的移动应用程序,另外似乎暗示在桌面 QtWidgets 应用程序中,QPainter 将自动确定适当的缩放比例,这很清楚不是。

确保桌面、非 qml Qt 应用程序在高 DPI 显示器(尤其是 Windows 10)上正确缩放的最佳方法是什么?

最佳答案

Qt 最近发布了一篇关于这个问题的博文 here .

从 Qt 5.6 开始启用高 DPI 支持。在 OS X 平台上,原生支持高 DPI。在 X11/Windows/Android 上,根据博客文章,有两种方法可以启用高 DPI 检测:

  1. 设置环境变量
  2. 在程序源代码中设置一个属性

在系统环境变量中设置 QT_AUTO_SCREEN_SCALE_FACTOR=1 将解决缩放问题。

此外,在您的应用程序源代码中设置 QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 也应该允许自动高 DPI 缩放。

注意:要使用属性方法,您必须在创建QApplication 对象之前设置属性 ,也就是说:

#include <QApplication>

int main(int argc, char *argv[])
{
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

QApplication app(argc, argv);
return app.exec();
}

关于c++ - Windows 10 中 Qt 桌面应用程序的不当缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35816944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com