QCameraViewFinder weird layout on iOS
-
I want to show a simple viewfinder for the camera on an iPhone 6 with Qt for iOS. Everything is working but the viewfinder is shown in the upper left corner and very small (i am simply adding the viewfinder to the central widget which occupies the whole Main Window). I also tried viewfinder->setFixedHeight (and width); this changes the viewfinder's size but the position is still offset... Anybody know how to fix this?
Here's my code (copied from the docs):
ui->setupUi(this); camera = new QCamera; viewfinder = new QCameraViewfinder(ui->centralWidget); viewfinder->show(); camera->setViewfinder(viewfinder); imageCapture = new QCameraImageCapture(camera); camera->setCaptureMode(QCamera::CaptureStillImage); camera->start(); //on half pressed shutter button camera->searchAndLock(); //on shutter button pressed imageCapture->capture(); //on shutter button released camera->unlock();
-
Hi and welcome to devnet,
You should put your viewFinder in a layout in your widget otherwise it's your responsibility to give it a sensible size and position.
-
Thank you @SGaist :-) And thank you very much for taking your time to respond to my question.
I should have thought of adding the widget to a layout. In a new attempt i added a vertical layout to my central widget in Qt Designer, to which i then added the viewfinder programmatically (code below). Nothing else is added to the vertical layout. Now the viewfinder is larger but shown in the bottom half of the screen and offset to the right (some part of it ends up outside of the screen), with the phone in upright position.
Appreciate your help if you have time!
ui->setupUi(this); camera = new QCamera; viewfinder = new QCameraViewfinder(); imageCapture = new QCameraImageCapture(camera); camera->setViewfinder(viewfinder); camera->setCaptureMode(QCamera::CaptureStillImage); ui->verticalLayout->addWidget(viewfinder); viewfinder->show(); camera->start(); //on half pressed shutter button camera->searchAndLock(); //on shutter button pressed imageCapture->capture(); //on shutter button released camera->unlock();
-
QCameraViewFinder might have some trouble on iOS, try setting the size policy to Fixed both horizontally and vertically.