QML摄像机的mediaobject属性无效/未定义 < >我试图创建一个QML项目,用C++定义,在Qux.VIETOUTROX显示之前,将从QML 相机中截取帧。比如: Window { Camera { id: camera } MyFrameinterceptor { id: myprocessing source: camera.mediaObject } VideoOutput { id: feedback source: myprocessing } } 根据A相机< /C> >项可用于访问相机< /代码>的C++部分。< /P>

QML摄像机的mediaobject属性无效/未定义 < >我试图创建一个QML项目,用C++定义,在Qux.VIETOUTROX显示之前,将从QML 相机中截取帧。比如: Window { Camera { id: camera } MyFrameinterceptor { id: myprocessing source: camera.mediaObject } VideoOutput { id: feedback source: myprocessing } } 根据A相机< /C> >项可用于访问相机< /代码>的C++部分。< /P>,c++,qt,qml,qt5,qtmultimedia,C++,Qt,Qml,Qt5,Qtmultimedia,但是,当我尝试从QML访问mediaObject时,例如,使用 Text { text: qsTr(camera.mediaObject.objectName) } 我得到一个TypeError:无法读取未定义的属性“objectName” 当我尝试使用C++中的CAMM.MyAdObjor属性时,我得到类似的消息,让我认为MyItAbjor是未定义的、未初始化的或不存在的。 我是Qt的新手,所以我可能会错过一些非常愚蠢的事情,比如启动相机或者其他什么。。。但是我对一个MediaPla

但是,当我尝试从QML访问mediaObject时,例如,使用

Text {
    text: qsTr(camera.mediaObject.objectName)
}
我得到一个
TypeError:无法读取未定义的属性“objectName”
当我尝试使用C++中的CAMM.MyAdObjor属性时,我得到类似的消息,让我认为MyItAbjor是未定义的、未初始化的或不存在的。 我是Qt的新手,所以我可能会错过一些非常愚蠢的事情,比如启动相机或者其他什么。。。但是我对一个
MediaPlayer
项目也有同样的问题


<如何从C++访问QML相机的中间对象?

< P>我也多次跳过这个问题,我这样解决了:

QObject * obj = rootview->rootObject()->findChild<QObject *>("camera");
QVariant mediaObject = obj->property("mediaObject");
QCamera * camera = qvariant_cast<QCamera *>(mediaObject);
QObject*obj=rootview->rootObject()->findChild(“摄像头”);
QVariant mediaObject=obj->property(“mediaObject”);
QCamera*摄像头=qvariant_cast(mediaObject);
然后,我使用
qvideorendercontrol
QAbstractVideoSurface
的子类分配给处理帧