/Qt 5.11

QCameraExposure Class

The QCameraExposure class provides interface for exposure related camera settings. More...

Header: #include <QCameraExposure>
qmake: QT += multimedia
Inherits: QObject

Public Types

enum ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ..., ExposureModeVendor }
enum FlashMode { FlashAuto, FlashOff, FlashOn, FlashRedEyeReduction, ..., FlashManual }
flags FlashModes
enum MeteringMode { MeteringMatrix, MeteringAverage, MeteringSpot }


  • 1 property inherited from QObject

Public Functions

qreal aperture() const
qreal exposureCompensation() const
QCameraExposure::ExposureMode exposureMode() const
QCameraExposure::FlashModes flashMode() const
bool isAvailable() const
bool isExposureModeSupported(QCameraExposure::ExposureMode mode) const
bool isFlashModeSupported(QCameraExposure::FlashModes mode) const
bool isFlashReady() const
bool isMeteringModeSupported(QCameraExposure::MeteringMode mode) const
int isoSensitivity() const
QCameraExposure::MeteringMode meteringMode() const
qreal requestedAperture() const
int requestedIsoSensitivity() const
qreal requestedShutterSpeed() const
void setSpotMeteringPoint(const QPointF &point)
qreal shutterSpeed() const
QPointF spotMeteringPoint() const
QList<qreal> supportedApertures(bool *continuous = nullptr) const
QList<int> supportedIsoSensitivities(bool *continuous = nullptr) const
QList<qreal> supportedShutterSpeeds(bool *continuous = nullptr) const
  • 34 public functions inherited from QObject

Public Slots

void setAutoAperture()
void setAutoIsoSensitivity()
void setAutoShutterSpeed()
void setExposureCompensation(qreal ev)
void setExposureMode(QCameraExposure::ExposureMode mode)
void setFlashMode(QCameraExposure::FlashModes mode)
void setManualAperture(qreal aperture)
void setManualIsoSensitivity(int iso)
void setManualShutterSpeed(qreal seconds)
void setMeteringMode(QCameraExposure::MeteringMode mode)
  • 1 public slot inherited from QObject


void apertureChanged(qreal value)
void apertureRangeChanged()
void exposureCompensationChanged(qreal value)
void flashReady(bool ready)
void isoSensitivityChanged(int value)
void shutterSpeedChanged(qreal speed)
void shutterSpeedRangeChanged()

Additional Inherited Members

  • 1 public variable inherited from QObject
  • 10 static public members inherited from QObject
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

The QCameraExposure class provides interface for exposure related camera settings.

Member Type Documentation

enum QCameraExposure::ExposureMode

Constant Value Description
QCameraExposure::ExposureAuto 0 Automatic mode.
QCameraExposure::ExposureManual 1 Manual mode.
QCameraExposure::ExposurePortrait 2 Portrait exposure mode.
QCameraExposure::ExposureNight 3 Night mode.
QCameraExposure::ExposureBacklight 4 Backlight exposure mode.
QCameraExposure::ExposureSpotlight 5 Spotlight exposure mode.
QCameraExposure::ExposureSports 6 Spots exposure mode.
QCameraExposure::ExposureSnow 7 Snow exposure mode.
QCameraExposure::ExposureBeach 8 Beach exposure mode.
QCameraExposure::ExposureLargeAperture 9 Use larger aperture with small depth of field.
QCameraExposure::ExposureSmallAperture 10 Use smaller aperture.
QCameraExposure::ExposureAction 11 Action mode. Since 5.5
QCameraExposure::ExposureLandscape 12 Landscape mode. Since 5.5
QCameraExposure::ExposureNightPortrait 13 Night portrait mode. Since 5.5
QCameraExposure::ExposureTheatre 14 Theatre mode. Since 5.5
QCameraExposure::ExposureSunset 15 Sunset mode. Since 5.5
QCameraExposure::ExposureSteadyPhoto 16 Steady photo mode. Since 5.5
QCameraExposure::ExposureFireworks 17 Fireworks mode. Since 5.5
QCameraExposure::ExposureParty 18 Party mode. Since 5.5
QCameraExposure::ExposureCandlelight 19 Candlelight mode. Since 5.5
QCameraExposure::ExposureBarcode 20 Barcode mode. Since 5.5
QCameraExposure::ExposureModeVendor 1000 The base value for device specific exposure modes.

enum QCameraExposure::FlashModeflags QCameraExposure::FlashModes

Constant Value Description
QCameraExposure::FlashAuto 0x1 Automatic flash.
QCameraExposure::FlashOff 0x2 Flash is Off.
QCameraExposure::FlashOn 0x4 Flash is On.
QCameraExposure::FlashRedEyeReduction 0x8 Red eye reduction flash.
QCameraExposure::FlashFill 0x10 Use flash to fillin shadows.
QCameraExposure::FlashTorch 0x20 Constant light source. If supported, torch can be enabled without loading the camera.
QCameraExposure::FlashVideoLight 0x40 Constant light source, useful for video capture. The light is turned on only while camera is active.
QCameraExposure::FlashSlowSyncFrontCurtain 0x80 Use the flash in conjunction with a slow shutter speed. This mode allows better exposure of distant objects and/or motion blur effect.
QCameraExposure::FlashSlowSyncRearCurtain 0x100 The similar mode to FlashSlowSyncFrontCurtain but flash is fired at the end of exposure.
QCameraExposure::FlashManual 0x200 Flash power is manualy set.

The FlashModes type is a typedef for QFlags<FlashMode>. It stores an OR combination of FlashMode values.

enum QCameraExposure::MeteringMode

Constant Value Description
QCameraExposure::MeteringMatrix 1 Matrix metering mode.
QCameraExposure::MeteringAverage 2 Center weighted average metering mode.
QCameraExposure::MeteringSpot 3 Spot metering mode.

Property Documentation

aperture : const qreal

Lens aperture is specified as an F number, the ratio of the focal length to effective aperture diameter.

Access functions:

qreal aperture() const

Notifier signal:

void apertureChanged(qreal value)

See also supportedApertures(), setAutoAperture(), setManualAperture(), and requestedAperture().

exposureCompensation : qreal

Exposure compensation in EV units.

Exposure compensation property allows to adjust the automatically calculated exposure.

Access functions:

qreal exposureCompensation() const
void setExposureCompensation(qreal ev)

Notifier signal:

void exposureCompensationChanged(qreal value)

exposureMode : QCameraExposure::ExposureMode

This property holds the exposure mode being used.

Access functions:

QCameraExposure::ExposureMode exposureMode() const
void setExposureMode(QCameraExposure::ExposureMode mode)

See also QCameraExposure::isExposureModeSupported().

flashMode : QCameraExposure::FlashModes

This property holds the flash mode being used.

Usually the single QCameraExposure::FlashMode flag is used, but some non conflicting flags combination are also allowed, like QCameraExposure::FlashManual | QCameraExposure::FlashSlowSyncRearCurtain.

Access functions:

QCameraExposure::FlashModes flashMode() const
void setFlashMode(QCameraExposure::FlashModes mode)

See also QCameraExposure::isFlashModeSupported() and QCameraExposure::isFlashReady().

flashReady : const bool

Indicates if the flash is charged and ready to use.

Access functions:

bool isFlashReady() const

Notifier signal:

void flashReady(bool ready)

isoSensitivity : const int

This property holds the sensor ISO sensitivity.

Access functions:

int isoSensitivity() const

Notifier signal:

void isoSensitivityChanged(int value)

See also supportedIsoSensitivities(), setAutoIsoSensitivity(), and setManualIsoSensitivity().

meteringMode : QCameraExposure::MeteringMode

This property holds the metering mode being used.

Access functions:

QCameraExposure::MeteringMode meteringMode() const
void setMeteringMode(QCameraExposure::MeteringMode mode)

See also QCameraExposure::isMeteringModeSupported().

shutterSpeed : const qreal

Camera's shutter speed in seconds.

Access functions:

qreal shutterSpeed() const

Notifier signal:

void shutterSpeedChanged(qreal speed)

See also supportedShutterSpeeds(), setAutoShutterSpeed(), and setManualShutterSpeed().

Member Function Documentation

[signal] void QCameraExposure::apertureChanged(qreal value)

Signal emitted when aperature changes to value.

Note: Notifier signal for property aperture.

[signal] void QCameraExposure::apertureRangeChanged()

Signal emitted when aperature range has changed.

[signal] void QCameraExposure::exposureCompensationChanged(qreal value)

Signal emitted when the exposure compensation changes to value.

Note: Notifier signal for property exposureCompensation.

[signal] void QCameraExposure::flashReady(bool ready)

Signal the flash ready status has changed.

Note: Notifier signal for property flashReady.

bool QCameraExposure::isAvailable() const

Returns true if exposure settings are supported by this camera.

bool QCameraExposure::isExposureModeSupported(QCameraExposure::ExposureMode mode) const

Returns true if the exposure mode is supported.

bool QCameraExposure::isFlashModeSupported(QCameraExposure::FlashModes mode) const

Returns true if the flash mode is supported.

bool QCameraExposure::isFlashReady() const

Returns true if flash is charged.

Note: Getter function for property flashReady.

bool QCameraExposure::isMeteringModeSupported(QCameraExposure::MeteringMode mode) const

Returns true if the metering mode is supported.

[signal] void QCameraExposure::isoSensitivityChanged(int value)

Signal emitted when sensitivity changes to value.

Note: Notifier signal for property isoSensitivity.

qreal QCameraExposure::requestedAperture() const

Returns the requested manual aperture or -1.0 if automatic aperture is turned on.

int QCameraExposure::requestedIsoSensitivity() const

Returns the requested ISO sensitivity or -1 if automatic ISO is turned on.

qreal QCameraExposure::requestedShutterSpeed() const

Returns the requested manual shutter speed in seconds or -1.0 if automatic shutter speed is turned on.

[slot] void QCameraExposure::setAutoAperture()

Turn on auto aperture

[slot] void QCameraExposure::setAutoIsoSensitivity()

Turn on auto sensitivity

[slot] void QCameraExposure::setAutoShutterSpeed()

Turn on auto shutter speed

[slot] void QCameraExposure::setManualAperture(qreal aperture)

Sets the manual camera aperture value.

[slot] void QCameraExposure::setManualIsoSensitivity(int iso)

Sets the manual sensitivity to iso

[slot] void QCameraExposure::setManualShutterSpeed(qreal seconds)

Set the manual shutter speed to seconds

void QCameraExposure::setSpotMeteringPoint(const QPointF &point)

Allows setting the spot metering point to point.

See also spotMeteringPoint().

qreal QCameraExposure::shutterSpeed() const

Returns the current shutter speed in seconds.

Note: Getter function for property shutterSpeed.

[signal] void QCameraExposure::shutterSpeedChanged(qreal speed)

Signals that a camera's shutter speed has changed.

Note: Notifier signal for property shutterSpeed.

[signal] void QCameraExposure::shutterSpeedRangeChanged()

Signal emitted when the shutter speed range has changed.

QPointF QCameraExposure::spotMeteringPoint() const

When supported, the spot metering point is the (normalized) position of the point of the image where exposure metering will be performed. This is typically used to indicate an "interesting" area of the image that should be exposed properly.

The coordinates are relative frame coordinates: QPointF(0,0) points to the left top frame point, QPointF(0.5,0.5) points to the frame center, which is typically the default spot metering point.

The spot metering point is only used with spot metering mode.

See also setSpotMeteringPoint().

QList<qreal> QCameraExposure::supportedApertures(bool *continuous = nullptr) const

Returns the list of aperture values camera supports. The apertures list can change depending on the focal length, in such a case the apertureRangeChanged() signal is emitted.

If the camera supports arbitrary aperture values within the supported range, *continuous is set to true, otherwise *continuous is set to false.

QList<int> QCameraExposure::supportedIsoSensitivities(bool *continuous = nullptr) const

Returns the list of ISO senitivities camera supports.

If the camera supports arbitrary ISO sensitivities within the supported range, *continuous is set to true, otherwise *continuous is set to false.

QList<qreal> QCameraExposure::supportedShutterSpeeds(bool *continuous = nullptr) const

Returns the list of shutter speed values in seconds camera supports.

If the camera supports arbitrary shutter speed values within the supported range, *continuous is set to true, otherwise *continuous is set to false.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.