gpt4 book ai didi

c++ - QQuickItem 派生类的高 DPI 缩放

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:09 25 4
gpt4 key购买 nike

我在我的应用程序中将 QtQuickControls 2 与 QQuickItem 派生类一起使用。在我设置 AA_EnableHighDpiScaling 属性后,所有 QQuickControls 2 组件在我的智能手机上看起来都正确,但我的自定义类的对象缩放不正确。这是没有 HighDpi 缩放和最小缩放的应用程序(它的工作方式):

Correct display of QQuickItem

这是最小缩放比例的:

Incorrect display of QQuickItem

似乎在第二个屏幕上对象被缩放太多,我可以看到我用 QPixmap 或 QImage 绘制的所有纹理的方形像素。但是,我从外部存储器和 QSGGeometryNode 等节点加载的图像看起来是正确的。我可以只关闭一个特定 QQuickItem 的缩放吗?如果不是,我应该设置什么才能正确渲染它?

此外,当我尝试在场景图节点树中使用大量 QSGOpacityNodes 设置 QQuickItem 的不透明度时,出现段错误。什么会导致这种情况?

最佳答案

所以我通过将 QSGTexture 的大小除以 QQuickWindow::effectiveDevicePixelRatio() 并将创建纹理的图像大小乘以该比率来解决这个问题。如果您在 QImage 上使用绘制文本,您还应该将字体大小乘以该比率。对于几何形状和 QPixmap::scaled() 也应该做同样的事情。

关于c++ - QQuickItem 派生类的高 DPI 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38837462/

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