У меня проблема с отображением QCamera , созданного в C ++, до VideoOutput , который находится в QML. Если я использую этот способ, когда камера находится в QML, все в порядке, я получаю вывод видео:
Item{
VideoOutput
{
id: videoOutput
anchors.fill: parent
source: camera
}
Camera
{
id: camera
}
}
Но в моем случае камера не в QML. Я создаю это в C ++. Я попытался создать его в C ++ и установить его в качестве contextProperty и, следовательно, использовать его в источнике в VideoOutput в qml. Так что это мой main.cpp.
QCamera* camera;
QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
foreach (const QCameraInfo &cameraInfo, cameras)
{
qDebug() << cameraInfo.description();
camera = new QCamera(cameraInfo);
}
if(camera)
{
qDebug() << "setContextProperty camera ";
engine.rootContext()->setContextProperty("mCamera", camera);
}
И все в порядке, камера обнаружена, и я использую ее в QML следующим образом:
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Item
{
id: cameraView
height: 230
width: 300
anchors.centerIn: parent
VideoOutput
{
id: videoOutput
anchors.fill: parent
source: mCamera
}
}
Но в видео нет выходасюда. Возможно ли это достичь? Заранее спасибо.