gpt4 book ai didi

c++ - QQuickImage 转换为 QImage

转载 作者:行者123 更新时间:2023-12-01 19:18:21 25 4
gpt4 key购买 nike

我一直在使用 QZXing 来解码 QR 码,我的 QML 如下所示

Image{ 
width:300
height:300
id:imageToDecode
source:"qr.jpg"
cache: true
}

当我将它传递到 C++ 文件时,它必须转换为 QImage 类型,在原始编码器的代码中是这样写的

QGraphicsItem *item = qobject_cast<QGraphicsItem*>(imageObj);

然后使用QGraphicsItem构造一个QImage,但是转换后总是返回0,因为QGraphicsItem不继承QObject

直接转换

QImage*item = qobject_cast<QImage*>(imageToDecode);

由于同样的原因无法工作,我一直在使用

imageObj->inherits("objectName");

测试它可以转换为哪一个,但我找不到我的观点是将 QML Image 转换为 QImage。

最佳答案

如果您使用的是 Qt5 或更高版本以及 QtQuick 2.0 或更高版本,则无法将 Image 元素渲染到 QGraphicsItem 或与 QGraphics 相关的任何内容,因为从 Qt5 开始,QML 的后端是场景图而不是 QGraphics。因此,现在使用 Qt5.3,如果您在 C++ 中访问 Image 元素,它将在内部转换为 QQuickImage,但您仍然无法从 Image 元素中提取图像,因为 QQuickImage 尚未公开。引用号http://qt-project.org/forums/viewthread/32767

他们目前提出的解决方案是使用 QQuickImageProvider。

关于c++ - QQuickImage 转换为 QImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25336449/

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