QML Camera Example
The Camera Example shows how to use the API to capture a still image or video.
This example demonstrates how to use the Qt Multimedia QML API to access camera functions. It shows how to change settings and to capture images.
Most of the QML code supports the user interface for this application with the camera types being mostly found in declarative-camera.qml and CaptureControls.qml.
In declarative-camera.qml the Camera is initialized with an id of camera, a photo preview is setup, states are implemented for image preview or capture and CaptureControls is initialized. The initial state is PhotoCapture. CameraCapture includes a handler, onImageCaptured, for the imageCaptured signal. The handler sets up the application to process the preview including a change in the user interface state. The PhotoPreview becomes visible with any key press being picked up by the handler in PhotoPreview and returning the state to PhotoCapture.
CaptureControls, which is implemented in CaptureControls.qml, generates a column on the right hand side of the screen which includes control buttons for focus (not initially visible), capture, flash modes, white balance, exposure compensation, and if a preview is available a preview button. The last button exits from the application.
When the Capture button is pressed the onClicked handler calls captureImage()
Files:
- multimediawidgets/declarative-camera/CameraButton.qml
- multimediawidgets/declarative-camera/CameraPropertyButton.qml
- multimediawidgets/declarative-camera/CameraPropertyPopup.qml
- multimediawidgets/declarative-camera/FocusButton.qml
- multimediawidgets/declarative-camera/PhotoCaptureControls.qml
- multimediawidgets/declarative-camera/PhotoPreview.qml
- multimediawidgets/declarative-camera/VideoCaptureControls.qml
- multimediawidgets/declarative-camera/VideoPreview.qml
- multimediawidgets/declarative-camera/ZoomControl.qml
- multimediawidgets/declarative-camera/declarative-camera.qml
- multimediawidgets/declarative-camera/qmlcamera.cpp
- multimediawidgets/declarative-camera/declarative-camera.pro
- multimediawidgets/declarative-camera/declarative-camera.qmlproject
- multimediawidgets/declarative-camera/declarative-camera.qrc
Images:
- multimediawidgets/declarative-camera/images/camera_auto_mode.png
- multimediawidgets/declarative-camera/images/camera_camera_setting.png
- multimediawidgets/declarative-camera/images/camera_flash_auto.png
- multimediawidgets/declarative-camera/images/camera_flash_fill.png
- multimediawidgets/declarative-camera/images/camera_flash_off.png
- multimediawidgets/declarative-camera/images/camera_flash_redeye.png
- multimediawidgets/declarative-camera/images/camera_white_balance_cloudy.png
- multimediawidgets/declarative-camera/images/camera_white_balance_flourescent.png
- multimediawidgets/declarative-camera/images/camera_white_balance_incandescent.png
- multimediawidgets/declarative-camera/images/camera_white_balance_sunny.png
- multimediawidgets/declarative-camera/images/toolbutton.png