En esta página

QCamera Class

La clase QCamera proporciona una interfaz para los dispositivos de cámara del sistema. Más...

Cabecera: #include <QCamera>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
En QML: Camera
Hereda: QObject

Tipos públicos

enum Error { NoError, CameraError }
enum ExposureMode { ExposureAuto, ExposureManual, ExposurePortrait, ExposureNight, ExposureSports, …, ExposureBarcode }
enum class Feature { ColorTemperature, ExposureCompensation, IsoSensitivity, ManualExposureTime, CustomFocusPoint, FocusDistance }
flags Features
enum FlashMode { FlashOff, FlashOn, FlashAuto }
enum FocusMode { FocusModeAuto, FocusModeAutoNear, FocusModeAutoFar, FocusModeHyperfocal, FocusModeInfinity, FocusModeManual }
enum TorchMode { TorchOff, TorchOn, TorchAuto }
enum WhiteBalanceMode { WhiteBalanceAuto, WhiteBalanceManual, WhiteBalanceSunlight, WhiteBalanceCloudy, WhiteBalanceShade, …, WhiteBalanceSunset }

Propiedades

Funciones públicas

QCamera(QObject *parent = nullptr)
QCamera(QCameraDevice::Position position, QObject *parent = nullptr)
QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)
virtual ~QCamera() override
QCameraDevice cameraDevice() const
QCameraFormat cameraFormat() const
QMediaCaptureSession *captureSession() const
int colorTemperature() const
QPointF customFocusPoint() const
QCamera::Error error() const
QString errorString() const
float exposureCompensation() const
QCamera::ExposureMode exposureMode() const
float exposureTime() const
QCamera::FlashMode flashMode() const
float focusDistance() const
QCamera::FocusMode focusMode() const
QPointF focusPoint() const
bool isActive() const
bool isAvailable() const
bool isExposureModeSupported(QCamera::ExposureMode mode) const
bool isFlashModeSupported(QCamera::FlashMode mode) const
bool isFlashReady() const
bool isFocusModeSupported(QCamera::FocusMode mode) const
bool isTorchModeSupported(QCamera::TorchMode mode) const
bool isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const
int isoSensitivity() const
float manualExposureTime() const
int manualIsoSensitivity() const
float maximumExposureTime() const
int maximumIsoSensitivity() const
float maximumZoomFactor() const
float minimumExposureTime() const
int minimumIsoSensitivity() const
float minimumZoomFactor() const
void setCameraDevice(const QCameraDevice &cameraDevice)
void setCameraFormat(const QCameraFormat &format)
void setCustomFocusPoint(const QPointF &point)
void setFocusDistance(float d)
void setFocusMode(QCamera::FocusMode mode)
void setZoomFactor(float factor)
QCamera::Features supportedFeatures() const
QCamera::TorchMode torchMode() const
QCamera::WhiteBalanceMode whiteBalanceMode() const
float zoomFactor() const

Ranuras públicas

void setActive(bool active)
void setAutoExposureTime()
void setAutoIsoSensitivity()
void setColorTemperature(int colorTemperature)
void setExposureCompensation(float ev)
void setExposureMode(QCamera::ExposureMode mode)
void setFlashMode(QCamera::FlashMode mode)
void setManualExposureTime(float seconds)
void setManualIsoSensitivity(int iso)
void setTorchMode(QCamera::TorchMode mode)
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)
void start()
void stop()
void zoomTo(float factor, float rate)

Señales

void activeChanged(bool)
void cameraDeviceChanged()
void cameraFormatChanged()
void colorTemperatureChanged() const
void customFocusPointChanged()
void errorChanged()
void errorOccurred(QCamera::Error error, const QString &errorString)
void exposureCompensationChanged(float value)
void exposureModeChanged()
void exposureTimeChanged(float speed)
void flashModeChanged()
void flashReady(bool ready)
void focusDistanceChanged(float)
void focusModeChanged()
void focusPointChanged()
void isoSensitivityChanged(int value)
void manualExposureTimeChanged(float speed)
void manualIsoSensitivityChanged(int)
void maximumZoomFactorChanged(float)
void minimumZoomFactorChanged(float)
void supportedFeaturesChanged()
void torchModeChanged()
void whiteBalanceModeChanged() const
void zoomFactorChanged(float)

Descripción detallada

QCamera se puede utilizar dentro de un QMediaCaptureSession para la grabación de vídeo y toma de imágenes.

Puedes usar QCameraDevice para listar las cámaras disponibles y elegir cuál usar.

const QList<QCameraDevice> cameras = QMediaDevices::videoInputs();
for (const QCameraDevice &cameraDevice : cameras) {
    if (cameraDevice.description() == "mycamera")
        camera = new QCamera(cameraDevice);
}

En hardware que lo soporte, QCamera permite ajustar el enfoque y el zoom. Las propiedades minimumZoomFactor y maximumZoomFactor proporcionan el rango de factores de zoom soportados. La propiedad zoomFactor permite cambiar el factor de zoom.

camera->setZoomFactor(3.0);

Tras capturar los datos en bruto de un fotograma de la cámara, el hardware y el software de la cámara realizan varias tareas de procesamiento de imágenes para producir la imagen final. Esto incluye compensar el color de la luz ambiental, reducir el ruido, así como realizar otros ajustes en la imagen.

Puede controlar muchos de estos pasos de procesamiento a través de las propiedades de la cámara. Por ejemplo, puede establecer el balance de blancos (o temperatura de color) utilizado para procesar las imágenes:

camera->setWhiteBalanceMode(QCamera::WhiteBalanceFluorescent);

Para obtener más información sobre el procesamiento de imágenes de fotogramas de cámara, consulte Procesamiento de imágenes de cámara.

La mayoría de las plataformas requieren que el usuario final conceda permisos antes de poder activar una cámara. Por lo tanto, se recomienda encarecidamente que los desarrolladores de aplicaciones utilicen la clase QCameraPermission cuando trabajen con cámaras. A continuación se muestra un breve ejemplo que solicita permisos al usuario final cuando se inicia la aplicación y, a continuación, activa la cámara si se conceden los permisos.

qApp->requestPermission(
    QCameraPermission{},
    [](const QPermission &permission) {
        if (permission.status() == Qt::PermissionStatus::Granted)
            camera->setActive(true);
    });

Consulte la descripción general de la cámara para obtener más información.

Nota: En la plataforma WebAssembly, debido a su naturaleza asíncrona, la señal QMediaDevices::videoInputsChanged() se emite cuando la lista de entradas de vídeo está lista. Se requieren permisos de usuario. Sólo funciona en contextos https seguros.

Documentación de tipos de miembros

enum QCamera::Error

Este enum contiene el último código de error.

ConstanteValorDescripción
QCamera::NoError0No se ha producido ningún error.
QCamera::CameraError1Se ha producido un error.

enum QCamera::ExposureMode

ConstanteValorDescripción
QCamera::ExposureAuto0Modo automático.
QCamera::ExposureManual1Modo manual.
QCamera::ExposurePortrait2Modo de exposición Retrato.
QCamera::ExposureNight3Modo nocturno.
QCamera::ExposureSports4Modo de exposición Spots.
QCamera::ExposureSnow5Modo de exposición Nieve.
QCamera::ExposureBeach6Modo de exposición Playa.
QCamera::ExposureAction7Modo acción. Desde 5.5
QCamera::ExposureLandscape8Modo paisaje. Desde 5.5
QCamera::ExposureNightPortrait9Modo retrato nocturno. Desde 5.5
QCamera::ExposureTheatre10Modo teatro. Desde 5.5
QCamera::ExposureSunset11Modo puesta de sol. Desde 5.5
QCamera::ExposureSteadyPhoto12Modo foto fija. Desde 5.5
QCamera::ExposureFireworks13Modo fuegos artificiales. Desde 5.5
QCamera::ExposureParty14Modo Fiesta. Desde 5.5
QCamera::ExposureCandlelight15Modo Velas. Desde 5.5
QCamera::ExposureBarcode16Modo Código de barras. Desde 5.5

enum class QCamera::Feature
flags QCamera::Features

Describe un conjunto de características soportadas por la cámara. El valor devuelto puede ser una combinación de:

ConstanteValorDescripción
QCamera::Feature::ColorTemperature0x1La cámara admite la configuración de un colorTemperature personalizado.
QCamera::Feature::ExposureCompensation0x2La cámara admite la configuración de un exposureCompensation personalizado.
QCamera::Feature::IsoSensitivity0x4La cámara admite la configuración de un isoSensitivity personalizado.
QCamera::Feature::ManualExposureTime0x8La cámara admite la configuración de manual exposure Time.
QCamera::Feature::CustomFocusPoint0x10La cámara admite la configuración de custom focus point.
QCamera::Feature::FocusDistance0x20La cámara admite la configuración de la propiedad focusDistance.

El tipo Features es un typedef para QFlags<Feature>. Almacena una combinación OR de valores de características.

enum QCamera::FlashMode

ConstanteValorDescripción
QCamera::FlashOff0Flash desactivado.
QCamera::FlashOn1Flash activado.
QCamera::FlashAuto2Flash automático.

enum QCamera::FocusMode

ConstanteValorDescripción
QCamera::FocusModeAuto0Modo de enfoque automático continuo.
QCamera::FocusModeAutoNear1Modo de enfoque automático continuo en objetos cercanos.
QCamera::FocusModeAutoFar2Modo de enfoque automático continuo en objetos lejanos.
QCamera::FocusModeHyperfocal3Enfoque a distancia hiperfocal, con la máxima profundidad de campo alcanzada. Todos los objetos a distancias comprendidas entre la mitad de esta distancia y el infinito tendrán una nitidez aceptable.
QCamera::FocusModeInfinity4Enfoque estrictamente a infinito.
QCamera::FocusModeManual5La distancia de enfoque del objetivo de la cámara se bloquea según focusDistance.

enum QCamera::TorchMode

ConstanteValorDescripción
QCamera::TorchOff0Antorcha apagada.
QCamera::TorchOn1Antorcha encendida.
QCamera::TorchAuto2Antorcha automática.

enum QCamera::WhiteBalanceMode

ConstanteValorDescripción
QCamera::WhiteBalanceAuto0Modo de balance de blancos automático.
QCamera::WhiteBalanceManual1Balance de blancos manual. En este modo el balance de blancos debe ajustarse con setColorTemperature()
QCamera::WhiteBalanceSunlight2Modo de balance de blancos de luz solar.
QCamera::WhiteBalanceCloudy3Modo de balance de blancos nublado.
QCamera::WhiteBalanceShade4Modo de balance de blancos en sombra.
QCamera::WhiteBalanceTungsten5Modo de balance de blancos de tungsteno (incandescente).
QCamera::WhiteBalanceFluorescent6Modo de balance de blancos fluorescente.
QCamera::WhiteBalanceFlash7Modo de balance de blancos con flash.
QCamera::WhiteBalanceSunset8Modo de balance de blancos al atardecer.

Documentación de propiedades

active : bool

Describe si la cámara está actualmente activa.

Funciones de acceso:

bool isActive() const
void setActive(bool active)

Señal de aviso:

void activeChanged(bool)

cameraDevice : QCameraDevice

Devuelve el objeto QCameraDevice asociado a esta cámara.

Al cambiar de dispositivo de cámara, se actualizan las capacidades de QCamera. Además, las propiedades de control de QCamera(como focusMode, flashMode, focusDistance, zoomFactor) se actualizan del siguiente modo:

  • Si una propiedad es compatible con el nuevo dispositivo, el valor de la propiedad se aplica al dispositivo de la cámara.
  • Si una propiedad es compatible pero su rango de valores válidos ha cambiado, la propiedad se ajusta al nuevo rango y se aplica al dispositivo de la cámara.
  • Si el nuevo dispositivo de cámara no admite una propiedad, el valor de la propiedad se restablece al valor predeterminado y no se realiza ningún cambio en el dispositivo de cámara.

Funciones de acceso:

QCameraDevice cameraDevice() const
void setCameraDevice(const QCameraDevice &cameraDevice)

Señal del notificador:

void cameraDeviceChanged()

cameraFormat : QCameraFormat

Devuelve el formato de cámara utilizado actualmente por la cámara.

Nota: Al utilizar el backend FFMPEG en un dispositivo de destino Android, si solicita el formato YUV420P, recibirá un YUV420P 4:2:0 totalmente planar o un NV12/NV21 semiplanar. Esto depende del códec implementado por el OEM del dispositivo.

Nota: En macOS, los dispositivos de cámara se comparten entre varias aplicaciones del sistema operativo. Esto significa que otra aplicación puede anular el formato establecido por esta propiedad. Los desarrolladores de aplicaciones deben tener en cuenta la recepción de fotogramas de vídeo que tengan una resolución, un formato de píxel y una velocidad de fotogramas diferentes a los descritos por esta propiedad. Esta propiedad no cambia cuando el formato del dispositivo es modificado por otra aplicación. El formato descrito por esta propiedad puede volver a aplicarse al dispositivo reactivando la función QCamera.

Funciones de acceso:

QCameraFormat cameraFormat() const
void setCameraFormat(const QCameraFormat &format)

Señal notificador:

void cameraFormatChanged()

Véase también QCameraDevice::videoFormats.

colorTemperature : int

Devuelve la temperatura de color actual si el modo de balance de blancos actual es WhiteBalanceManual. Para otros modos el valor de retorno es indefinido.

Funciones de acceso:

int colorTemperature() const
void setColorTemperature(int colorTemperature)

Señal del notificador:

void colorTemperatureChanged() const

customFocusPoint : QPointF

Esta propiedad representa la posición del punto de enfoque personalizado, en coordenadas relativas del cuadro: QPointF(0,0) apunta al punto superior izquierdo del cuadro, QPointF(0.5,0.5) apunta al centro del cuadro.

Puede comprobar si se admiten puntos de enfoque personalizados consultando supportedFeatures() con el indicador Feature.CustomFocusPoint.

Funciones de acceso:

QPointF customFocusPoint() const
void setCustomFocusPoint(const QPointF &point)

Señal del notificador:

void customFocusPointChanged()

[read-only] error : Error

Devuelve el estado de error de la cámara.

Funciones de acceso:

QCamera::Error error() const

Señal de notificador:

void errorChanged()

Véase también QCamera::Error.

[read-only] errorString : QString

Devuelve una cadena legible por humanos que describe el estado de error de una cámara.

Funciones de acceso:

QString errorString() const

Señal de notificador:

void errorChanged()

exposureCompensation : float

Compensación de la exposición en unidades EV.

La propiedad Compensación de exposición permite ajustar la exposición calculada automáticamente.

Funciones de acceso:

float exposureCompensation() const
void setExposureCompensation(float ev)

Señal de aviso:

void exposureCompensationChanged(float value)

exposureMode : QCamera::ExposureMode

Esta propiedad contiene el modo de exposición que se está utilizando.

Funciones de acceso:

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

Señal del notificador:

void exposureModeChanged()

Véase también QCamera::isExposureModeSupported.

[read-only] exposureTime : float

Tiempo de exposición de la cámara en segundos.

Funciones de acceso:

float exposureTime() const

Señal de aviso:

void exposureTimeChanged(float speed)

Véase también minimumExposureTime(), maximumExposureTime() y setManualExposureTime().

flashMode : QCamera::FlashMode

Esta propiedad contiene el modo de flash que se está utilizando.

Activa un determinado modo de flash si la cámara dispone de flash.

Asignar un modo no soportado a esta propiedad no tiene efecto.

Esta propiedad sólo tiene efecto cuando se capturan imágenes utilizando QImageCapture

Funciones de acceso:

QCamera::FlashMode flashMode() const
void setFlashMode(QCamera::FlashMode mode)

Señal notificadora:

void flashModeChanged()

Véase también QCamera::FlashMode, QCamera::isFlashModeSupported, y QCamera::isFlashReady.

[read-only] flashReady : bool

Indica si el flash está cargado y listo para su uso.

Funciones de acceso:

bool isFlashReady() const[see note below]

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

Señal del notificador:

void flashReady(bool ready)

focusDistance : float

Esta propiedad define la distancia de enfoque del objetivo cuando el dispositivo de la cámara funciona en modo de enfoque manual. Los valores válidos van de 0 a 1, donde 0 es la distancia de enfoque más cercana posible y 1 es la más lejana. El punto más lejano suele estar en el infinito, pero puede no ser el caso para todos los dispositivos.

Esta propiedad se aplica al dispositivo sólo cuando focusMode se establece en FocusModeManual, y supportedFeatures incluye la bandera Feature::FocusDistance.

Si asigna un valor a esta propiedad mientras focusMode no está establecido en QCamera::FocusModeManual, la propiedad almacena el valor pero no afecta al dispositivo hasta que QCamera::FocusModeManual esté activo.

Asignar un valor fuera del rango válido [0, 1] no tiene efecto sobre esta propiedad.

Si supportedFeatures no incluye la bandera FocusDistance, cualquier intento de establecer esta propiedad es ignorado.

Esta propiedad no será actualizada por la cámara cuando esté en modo de enfoque automático.

El valor por defecto es 1.

Funciones de acceso:

float focusDistance() const
void setFocusDistance(float d)

Señal de notificador:

void focusDistanceChanged(float)

focusMode : FocusMode

Esta propiedad contiene el modo de enfoque actual de la cámara.

Esta propiedad contiene el valor que controla el modo de enfoque del dispositivo de la cámara. En todos los modos de enfoque automático, el dispositivo de la cámara sigue enfocando continuamente.

Para comprobar si el dispositivo de la cámara admite un modo de enfoque concreto, pase el valor FocusMode correspondiente a la función isFocusModeSupported como parámetro. La función devuelve false si el valor del modo de enfoque no es compatible. Asignar un modo no soportado a esta propiedad no tiene ningún efecto.

Si establece la propiedad focusMode a QCamera::FocusModeManual, la lente se bloquea al enfoque según focusDistance.

Funciones de acceso:

QCamera::FocusMode focusMode() const
void setFocusMode(QCamera::FocusMode mode)

Señal notificadora:

Véase también isFocusModeSupported().

[read-only] focusPoint : QPointF

Devuelve el punto actualmente utilizado por el sistema de enfoque automático para enfocar.

Funciones de acceso:

QPointF focusPoint() const

Señal de aviso:

void focusPointChanged()

[read-only] isoSensitivity : int

Esta propiedad contiene la sensibilidad ISO del sensor.

Describe la sensibilidad ISO utilizada actualmente por la cámara.

Funciones de acceso:

int isoSensitivity() const

Señal notificadora:

void isoSensitivityChanged(int value)

Véase también setAutoIsoSensitivity() y setManualIsoSensitivity().

manualExposureTime : float

Ajuste el tiempo de exposición manual a seconds

Funciones de acceso:

float manualExposureTime() const
void setManualExposureTime(float seconds)

Señal de aviso:

void manualExposureTimeChanged(float speed)

manualIsoSensitivity : int

Describe una sensibilidad ISO ajustada manualmente

Configurar esta propiedad a -1 (por defecto), implica que la cámara ajusta automáticamente la sensibilidad ISO.

Funciones de acceso:

int manualIsoSensitivity() const
void setManualIsoSensitivity(int iso)

Señal de aviso:

void manualIsoSensitivityChanged(int)

[read-only] maximumZoomFactor : float

Devuelve el factor de zoom máximo.

Será 1.0 en las cámaras que no admitan zoom.

Funciones de acceso:

float maximumZoomFactor() const

Señal del notificador:

void maximumZoomFactorChanged(float)

[read-only] minimumZoomFactor : float

Devuelve el factor de zoom mínimo.

Será 1.0 en las cámaras que no admitan zoom.

Funciones de acceso:

float minimumZoomFactor() const

Señal del notificador:

void minimumZoomFactorChanged(float)

[read-only] supportedFeatures : Features

Devuelve las funciones que admite esta cámara.

Funciones de acceso:

QCamera::Features supportedFeatures() const

Señal de notificador:

void supportedFeaturesChanged()

Véase también QCamera::Feature.

torchMode : QCamera::TorchMode

Esta propiedad contiene el modo de antorcha que se está utilizando.

Una linterna es una fuente continua de luz. Se puede utilizar durante la grabación de vídeo en condiciones de poca luz. Activar el modo antorcha normalmente anula cualquier modo de flash actualmente configurado.

Funciones de acceso:

QCamera::TorchMode torchMode() const
void setTorchMode(QCamera::TorchMode mode)

Señal de aviso:

void torchModeChanged()

Véase también QCamera::TorchMode, QCamera::isTorchModeSupported, y QCamera::flashMode.

whiteBalanceMode : WhiteBalanceMode

Devuelve el modo de balance de blancos que se está utilizando.

Funciones de acceso:

QCamera::WhiteBalanceMode whiteBalanceMode() const
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Señal de aviso:

void whiteBalanceModeChanged() const

zoomFactor : float

Esta propiedad contiene el factor de zoom actual.

Obtiene o establece el factor de zoom actual. Los valores estarán comprendidos entre minimumZoomFactor y maximumZoomFactor.

Funciones de acceso:

float zoomFactor() const
void setZoomFactor(float factor)

Señal del notificador:

void zoomFactorChanged(float)

Documentación de la función miembro

[explicit] QCamera::QCamera(QObject *parent = nullptr)

Construye una QCamera con un parent.

Selecciona la cámara por defecto del sistema si hay más de una cámara disponible.

[explicit] QCamera::QCamera(QCameraDevice::Position position, QObject *parent = nullptr)

Construye una QCamera que utilice una cámara hardware situada en la dirección position especificada.

Por ejemplo, en un teléfono móvil se puede utilizar para elegir fácilmente entre las cámaras frontal y trasera.

Si no hay ninguna cámara disponible en el position especificado o si position es QCameraDevice::UnspecifiedPosition, se utiliza la cámara por defecto.

[explicit] QCamera::QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)

Construye una QCamera a partir de una descripción de cámara cameraDevice y parent.

[override virtual noexcept] QCamera::~QCamera()

Destruye el objeto cámara.

QMediaCaptureSession *QCamera::captureSession() const

Devuelve la sesión de captura a la que está conectada esta cámara, o un nullptr si la cámara no está conectada a una sesión de captura.

utilice QMediaCaptureSession::setCamera() para conectar la cámara a una sesión.

[signal] void QCamera::errorOccurred(QCamera::Error error, const QString &errorString)

Esta señal se emite cuando el estado de error cambia a error. Se proporciona una descripción del error en errorString.

[signal] void QCamera::exposureCompensationChanged(float value)

Señal emitida cuando la compensación de exposición cambia a value.

Nota: Señal notificadora de la propiedad exposureCompensation.

float QCamera::exposureTime() const

Devuelve el tiempo de exposición actual en segundos.

Nota: Función Getter para la propiedad exposureTime.

[signal] void QCamera::exposureTimeChanged(float speed)

Señala que la exposición de una cámara speed ha cambiado.

Nota: Señal notificadora para la propiedad exposureTime.

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

Señal de que el estado de flash ready ha cambiado.

Nota: Señal notificadora para la propiedad flashReady.

[signal] void QCamera::focusModeChanged()

Señala cuando cambia la focusMode.

Nota: Señal notificadora para la propiedad focusMode.

bool QCamera::isActive() const

Devuelve true si la cámara está actualmente activa.

Nota: Función Getter para la propiedad active.

bool QCamera::isAvailable() const

Devuelve true si se puede utilizar la cámara.

[invokable] bool QCamera::isExposureModeSupported(QCamera::ExposureMode mode) const

Devuelve true si se admite la exposición mode.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const

Devuelve true si el flash mode es compatible.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QCamera::isFlashReady() const

Devuelve true si el flash está cargado.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

Nota: Función Getter para la propiedad flashReady.

[invokable] bool QCamera::isFocusModeSupported(QCamera::FocusMode mode) const

Devuelve true si la cámara admite el enfoque mode.

Si FocusModeManual es reportado como soportado, la característica Feature::FocusDistance es implícitamente soportada también.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QCamera::isTorchModeSupported(QCamera::TorchMode mode) const

Devuelve true si se admite la antorcha mode.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QCamera::isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const

Devuelve true si se admite el balance de blancos mode.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Señal emitida cuando la sensibilidad cambia a value.

Nota: Señal notificadora para la propiedad isoSensitivity.

float QCamera::manualExposureTime() const

Devuelve el tiempo de exposición manual en segundos, o -1 si la cámara está utilizando tiempos de exposición automáticos.

Nota: Función Getter para la propiedad manualExposureTime.

Véase también setManualExposureTime().

float QCamera::maximumExposureTime() const

El tiempo máximo de exposición en segundos.

int QCamera::maximumIsoSensitivity() const

Devuelve la sensibilidad ISO máxima soportada por la cámara.

float QCamera::minimumExposureTime() const

El tiempo mínimo de exposición en segundos.

int QCamera::minimumIsoSensitivity() const

Devuelve la sensibilidad ISO mínima soportada por la cámara.

[slot] void QCamera::setActive(bool active)

Enciende la cámara si active es true, o la apaga si es false.

Nota: Función Setter para la propiedad active.

Véase también isActive().

[slot] void QCamera::setAutoExposureTime()

Utilizar el tiempo de exposición calculado automáticamente

[slot] void QCamera::setAutoIsoSensitivity()

Activar la sensibilidad automática

void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)

Conecta el objeto cámara al dispositivo físico de cámara descrito por cameraDevice. El uso de un objeto QCameraDevice construido por defecto como cameraDevice conectará la cámara al dispositivo de cámara por defecto del sistema.

Al cambiar de dispositivo de cámara, se actualizan las capacidades de QCamera. Además, las propiedades de control de QCamera(como focusMode, flashMode, focusDistance, zoomFactor) se actualizan del siguiente modo:

  • Si una propiedad es compatible con el nuevo dispositivo, el valor de la propiedad se aplica al dispositivo de la cámara.
  • Si una propiedad es compatible pero su rango de valores válidos ha cambiado, la propiedad se ajusta al nuevo rango y se aplica al dispositivo de la cámara.
  • Si el nuevo dispositivo de cámara no admite una propiedad, el valor de la propiedad se restablece al valor predeterminado y no se realiza ningún cambio en el dispositivo de cámara.

Nota: Función Setter para la propiedad cameraDevice.

Véase también cameraDevice().

void QCamera::setCameraFormat(const QCameraFormat &format)

Indica a la cámara que utilice el formato descrito por format. Esto se puede utilizar para definir una resolución específica y la velocidad de fotogramas que se utilizará para la grabación y captura de imágenes.

Nota: Al utilizar el backend FFMPEG en un dispositivo Android, si solicita el formato YUV420P, recibirá un YUV420P 4:2:0 totalmente planar o un NV12/NV21 semiplanar. Esto depende del códec implementado por el OEM del dispositivo.

Nota: Función Setter para la propiedad cameraFormat.

Véase también cameraFormat().

[slot] void QCamera::setColorTemperature(int colorTemperature)

Ajusta el balance de blancos manual a colorTemperature. Se utiliza cuando whiteBalanceMode() está ajustado a WhiteBalanceManual. Las unidades son Kelvin.

El ajuste de una temperatura de color sólo tendrá efecto si se admite WhiteBalanceManual. En este caso, si se establece una temperatura superior a 0, el modo de balance de blancos se establecerá automáticamente en WhiteBalanceManual. Si se establece la temperatura en 0, el modo de balance de blancos se restablecerá en WhiteBalanceAuto.

Nota: Función Setter para la propiedad colorTemperature.

Véase también colorTemperature().

[slot] void QCamera::setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Establece el balance de blancos en mode.

Nota: Función Setter para la propiedad whiteBalanceMode.

Véase también whiteBalanceMode().

void QCamera::setZoomFactor(float factor)

Aumenta a un factor de zoom factor a una velocidad de 1 factor por segundo.

Nota: Función Setter para la propiedad zoomFactor.

Véase también zoomFactor().

[slot] void QCamera::start()

Inicia la cámara.

Igual que setActive(true).

Si la cámara no puede iniciarse por algún motivo, se emite la señal errorOccurred().

[slot] void QCamera::stop()

Detiene la cámara. Igual que setActive(false).

[slot] void QCamera::zoomTo(float factor, float rate)

Aumenta a un factor de zoom factor utilizando rate.

El rate se especifica en potencias de dos por segundo. Con una velocidad de 1, se tardaría 2 segundos en pasar de un factor de zoom de 1 a 4.

Nota: El uso de una velocidad específica no es compatible con todas las cámaras. Si no se admite, el zoom se realizará lo más rápido posible.

© 2026 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.