Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
import QtQuick 2.12
import QtMultimedia 5.12
VideoOutput {
id: videoOutput
anchors.fill: parent
fillMode: VideoOutput.PreserveAspectCrop
orientation: 270
focus: false
source: Camera {
id: camera
imageCapture.onImageSaved: {
videoOutput.imageCaptured(path);
}
}
signal imageCaptured(string path)
function capture() {
camera.imageCapture.capture();
}
}
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
quickView = new QQuickView();
quickView->setSource(QUrl("qrc:/camera.qml"));
QObject::connect(quickView->rootObject(), SIGNAL(imageCaptured(const QString&)), this, SLOT(imageCaptured(const QString&)));
ui->verticalLayout->insertWidget(0, QWidget::createWindowContainer(quickView, this));
}
[...]
void MainWindow::captureButtonClicked()
{
QMetaObject::invokeMethod(quickView->rootObject(), "capture");
}
void MainWindow::imageCaptured(const QString& path)
{
qDebug() << path;
}
define CAMSHOT_H
Что-то вспомнилось, были у меня фабрики, унаследованные от единой абстрактной фабрики. Материнской, так сказать.
#include "mother-factory.h"
Qt 6 вообще ещё рано пользоваться в production, и будет рано как минимум до 6.2. Работу с JNI добавили в 6.1, только из имён классов убрали слово Android (например, вместо QAndroidJniObject теперь просто QJniObject):
https://wiki.qt.io/New_Features_in_Qt_6.1
Extras'ов больше не будет, соответствующий функционал включат в Core или другие "большие" модули.
Фото из Android смартфона в Qt Widgets