private slots: void on_pushButton_clicked(); void cap(int par1, QString par2);
void MainWindow::on_pushButton_clicked() { QCamera *camera = new QCamera(QCamera::availableDevices().at(0)); //QCameraViewfinder *viewFinder = new QCameraViewfinder; //camera->setViewfinder(viewFinder); //viewFinder->show(); imageCapture = new QCameraImageCapture(camera); connect(imageCapture, SIGNAL(imageSaved(int,QString)), this, SLOT(cap(int,QString))); imageCapture->setCaptureDestination(QCameraImageCapture::CaptureToFile); QImageEncoderSettings imageSettings; imageSettings.setCodec("image/jpeg"); imageSettings.setResolution(640, 480); qDebug() << imageSettings.resolution(); imageCapture->setEncodingSettings(imageSettings); camera->setCaptureMode(QCamera::CaptureStillImage); camera->start(); //on half pressed shutter button camera->searchAndLock(); //connect(imageCapture, SIGNAL(imageCaptured(int,QImage)), this, SLOT(cap(int,QImage))); //on shutter button pressed imageCapture->capture(); //on shutter button released camera->unlock(); qDebug() << "done"; } void MainWindow::cap(int par1, QString par2){ qDebug() << "captured"; }