QCameraExposureControl Class

The QCameraExposureControl class allows controlling camera exposure parameters. More...

Header: #include <QCameraExposureControl>
qmake: QT += multimedia
Inherits: QMediaControl

This class is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

Public Types

enum ExposureParameter { ISO, Aperture, ShutterSpeed, ExposureCompensation, FlashPower, …, ExtendedExposureParameter }

Public Functions

virtual ~QCameraExposureControl()
virtual QVariant actualValue(QCameraExposureControl::ExposureParameter parameter) const = 0
virtual bool isParameterSupported(QCameraExposureControl::ExposureParameter parameter) const = 0
virtual QVariant requestedValue(QCameraExposureControl::ExposureParameter parameter) const = 0
virtual bool setValue(QCameraExposureControl::ExposureParameter parameter, const QVariant &value) = 0
virtual QVariantList supportedParameterRange(QCameraExposureControl::ExposureParameter parameter, bool *continuous) const = 0


void actualValueChanged(int parameter)
void parameterRangeChanged(int parameter)
void requestedValueChanged(int parameter)

Protected Functions

QCameraExposureControl(QObject *parent = nullptr)


Detailed Description

The QCameraExposure class is the usual method of adjusting exposure related parameters when using camera functionality. This class provides a more complete but less easy to use interface, and also forms the interface to implement when writing a new implementation of QCamera functionality.

You can adjust a number of parameters that will affect images and video taken with the corresponding QCamera object - see the ExposureParameter enumeration.

The interface name of QCameraExposureControl is org.qt-project.qt.cameraexposurecontrol/5.0 as defined in QCameraExposureControl_iid.

See also QCameraExposure and QCamera.

Member Type Documentation

enum QCameraExposureControl::ExposureParameter

QCameraExposureControl::ISO0Camera ISO sensitivity, specified as integer value.
QCameraExposureControl::Aperture1Lens aperture is specified as an qreal F number. The supported apertures list can change depending on the focal length, in such a case the exposureParameterRangeChanged() signal is emitted.
QCameraExposureControl::ShutterSpeed2Shutter speed in seconds, specified as qreal.
QCameraExposureControl::ExposureCompensation3Exposure compensation, specified as qreal EV value.
QCameraExposureControl::FlashPower4Manual flash power, specified as qreal value. Accepted power range is [0..1.0], with 0 value means no flash and 1.0 corresponds to full flash power.

This value is only used in the manual flash mode.

QCameraExposureControl::TorchPower6Manual torch power, specified as qreal value. Accepted power range is [0..1.0], with 0 value means no light and 1.0 corresponds to full torch power.

This value is only used in the torch flash mode.

QCameraExposureControl::FlashCompensation5Flash compensation, specified as qreal EV value.
QCameraExposureControl::SpotMeteringPoint7The relative frame coordinate of the point to use for exposure metering in spot metering mode, specified as a QPointF.
QCameraExposureControl::ExposureMode8Camera exposure mode.
QCameraExposureControl::MeteringMode9Camera metering mode.
QCameraExposureControl::ExtendedExposureParameter1000The base value for platform specific extended parameters. For such parameters the sequential values starting from ExtendedExposureParameter should be used.

Member Function Documentation

[protected] QCameraExposureControl::QCameraExposureControl(QObject *parent = nullptr)

Constructs a camera exposure control object with parent.

[signal] void QCameraExposureControl::actualValueChanged(int parameter)

Signal emitted when the actual exposure parameter value has changed, usually in result of auto exposure algorithms or manual exposure parameter applied.

This function was introduced in Qt 5.0.

[signal] void QCameraExposureControl::parameterRangeChanged(int parameter)

Signal emitted when the supported range of exposure parameter values has changed.

This function was introduced in Qt 5.0.

[signal] void QCameraExposureControl::requestedValueChanged(int parameter)

Signal emitted when the requested exposure parameter value has changed, usually in result of setValue() call.

This function was introduced in Qt 5.0.

[virtual] QCameraExposureControl::~QCameraExposureControl()

Destroys the camera exposure control object.

[pure virtual] QVariant QCameraExposureControl::actualValue(QCameraExposureControl::ExposureParameter parameter) const

Returns the actual exposure parameter value, or invalid QVariant() if the value is unknown or not supported.

The actual parameter value may differ for the requested one if automatic mode is selected or camera supports only limited set of values within the supported range.

This function was introduced in Qt 5.0.

[pure virtual] bool QCameraExposureControl::isParameterSupported(QCameraExposureControl::ExposureParameter parameter) const

Returns true is exposure parameter is supported by backend.

This function was introduced in Qt 5.0.

[pure virtual] QVariant QCameraExposureControl::requestedValue(QCameraExposureControl::ExposureParameter parameter) const

Returns the requested exposure parameter value.

This function was introduced in Qt 5.0.

[pure virtual] bool QCameraExposureControl::setValue(QCameraExposureControl::ExposureParameter parameter, const QVariant &value)

Set the exposure parameter to value. If a null or invalid QVariant is passed, backend should choose the value automatically, and if possible report the actual value to user with QCameraExposureControl::actualValue().

Returns true if parameter is supported and value is correct.

This function was introduced in Qt 5.0.

[pure virtual] QVariantList QCameraExposureControl::supportedParameterRange(QCameraExposureControl::ExposureParameter parameter, bool *continuous) const

Returns the list of supported parameter values;

If the camera supports arbitrary exposure parameter value within the supported range, *continuous is set to true, otherwise *continuous is set to false.

This function was introduced in Qt 5.0.

Macro Documentation



Defines the interface name of the QCameraExposureControl class.

© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.