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.
| Constante | Valor | Descripción |
|---|---|---|
QCamera::NoError | 0 | No se ha producido ningún error. |
QCamera::CameraError | 1 | Se ha producido un error. |
enum QCamera::ExposureMode
| Constante | Valor | Descripción |
|---|---|---|
QCamera::ExposureAuto | 0 | Modo automático. |
QCamera::ExposureManual | 1 | Modo manual. |
QCamera::ExposurePortrait | 2 | Modo de exposición Retrato. |
QCamera::ExposureNight | 3 | Modo nocturno. |
QCamera::ExposureSports | 4 | Modo de exposición Spots. |
QCamera::ExposureSnow | 5 | Modo de exposición Nieve. |
QCamera::ExposureBeach | 6 | Modo de exposición Playa. |
QCamera::ExposureAction | 7 | Modo acción. Desde 5.5 |
QCamera::ExposureLandscape | 8 | Modo paisaje. Desde 5.5 |
QCamera::ExposureNightPortrait | 9 | Modo retrato nocturno. Desde 5.5 |
QCamera::ExposureTheatre | 10 | Modo teatro. Desde 5.5 |
QCamera::ExposureSunset | 11 | Modo puesta de sol. Desde 5.5 |
QCamera::ExposureSteadyPhoto | 12 | Modo foto fija. Desde 5.5 |
QCamera::ExposureFireworks | 13 | Modo fuegos artificiales. Desde 5.5 |
QCamera::ExposureParty | 14 | Modo Fiesta. Desde 5.5 |
QCamera::ExposureCandlelight | 15 | Modo Velas. Desde 5.5 |
QCamera::ExposureBarcode | 16 | Modo 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:
| Constante | Valor | Descripción |
|---|---|---|
QCamera::Feature::ColorTemperature | 0x1 | La cámara admite la configuración de un colorTemperature personalizado. |
QCamera::Feature::ExposureCompensation | 0x2 | La cámara admite la configuración de un exposureCompensation personalizado. |
QCamera::Feature::IsoSensitivity | 0x4 | La cámara admite la configuración de un isoSensitivity personalizado. |
QCamera::Feature::ManualExposureTime | 0x8 | La cámara admite la configuración de manual exposure Time. |
QCamera::Feature::CustomFocusPoint | 0x10 | La cámara admite la configuración de custom focus point. |
QCamera::Feature::FocusDistance | 0x20 | La 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
| Constante | Valor | Descripción |
|---|---|---|
QCamera::FlashOff | 0 | Flash desactivado. |
QCamera::FlashOn | 1 | Flash activado. |
QCamera::FlashAuto | 2 | Flash automático. |
enum QCamera::FocusMode
| Constante | Valor | Descripción |
|---|---|---|
QCamera::FocusModeAuto | 0 | Modo de enfoque automático continuo. |
QCamera::FocusModeAutoNear | 1 | Modo de enfoque automático continuo en objetos cercanos. |
QCamera::FocusModeAutoFar | 2 | Modo de enfoque automático continuo en objetos lejanos. |
QCamera::FocusModeHyperfocal | 3 | Enfoque 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::FocusModeInfinity | 4 | Enfoque estrictamente a infinito. |
QCamera::FocusModeManual | 5 | La distancia de enfoque del objetivo de la cámara se bloquea según focusDistance. |
enum QCamera::TorchMode
| Constante | Valor | Descripción |
|---|---|---|
QCamera::TorchOff | 0 | Antorcha apagada. |
QCamera::TorchOn | 1 | Antorcha encendida. |
QCamera::TorchAuto | 2 | Antorcha automática. |
enum QCamera::WhiteBalanceMode
| Constante | Valor | Descripción |
|---|---|---|
QCamera::WhiteBalanceAuto | 0 | Modo de balance de blancos automático. |
QCamera::WhiteBalanceManual | 1 | Balance de blancos manual. En este modo el balance de blancos debe ajustarse con setColorTemperature() |
QCamera::WhiteBalanceSunlight | 2 | Modo de balance de blancos de luz solar. |
QCamera::WhiteBalanceCloudy | 3 | Modo de balance de blancos nublado. |
QCamera::WhiteBalanceShade | 4 | Modo de balance de blancos en sombra. |
QCamera::WhiteBalanceTungsten | 5 | Modo de balance de blancos de tungsteno (incandescente). |
QCamera::WhiteBalanceFluorescent | 6 | Modo de balance de blancos fluorescente. |
QCamera::WhiteBalanceFlash | 7 | Modo de balance de blancos con flash. |
QCamera::WhiteBalanceSunset | 8 | Modo de balance de blancos al atardecer. |
Documentación de propiedades
active : bool
Describe si la cámara está actualmente activa.
Funciones de acceso:
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:
| void | focusModeChanged() |
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.