En esta página

QCameraDevice Class

La clase QCameraDevice proporciona información general sobre los dispositivos de cámara. Más...

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

Tipos públicos

enum Position { UnspecifiedPosition, BackFace, FrontFace }

Propiedades

Funciones públicas

QCameraDevice()
QCameraDevice(const QCameraDevice &other)
~QCameraDevice()
QtVideo::Rotation correctionAngle() const
QString description() const
QByteArray id() const
bool isDefault() const
bool isNull() const
QList<QSize> photoResolutions() const
QCameraDevice::Position position() const
QList<QCameraFormat> videoFormats() const
bool operator!=(const QCameraDevice &other) const
QCameraDevice &operator=(const QCameraDevice &other)
bool operator==(const QCameraDevice &other) const

Descripción detallada

QCameraDevice representa un dispositivo de cámara físico y sus propiedades.

Puedes descubrir qué cámaras están disponibles en un sistema usando las funciones availableCameras() y defaultCamera(). Estas están contenidas dentro de QtMultimedia::MediaDevices.

La instancia QCameraDevice conserva sus propiedades durante toda su vida útil, incluso si el dispositivo físico correspondiente se desconecta o se modifica su configuración. Para mantener un registro de las propiedades actualizadas, el usuario debe cargar nuevas instancias de QCameraDevice desde QMediaDevices cuando se disparen las señales relevantes.

Este ejemplo imprime el nombre de todas las cámaras disponibles:

const QList<QCameraDevice> cámaras = QMediaDevices::videoInputs();for(const QCameraDevice &dispositivoCámara: cámaras)    qDebug() << cameraDevice.description();

Se puede utilizar un QCameraDevice para construir un QCamera. El siguiente ejemplo instancia un QCamera cuyo dispositivo de cámara se denomina mycamera:

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

También puedes utilizar QCameraDevice para obtener información general sobre un dispositivo de cámara, como la descripción y la posición física en el sistema.

QCamera miCamara;QCameraDevice cameraDevice =  camera->cameraDevice();if (cameraDevice.position() == QCameraDevice::CaraFrente)    qDebug() << "The camera is on the front face of the hardware system.";
else if (cameraDevice.position() == QCameraDevice::Cara posterior)    qDebug() << "The camera is on the back face of the hardware system.";

Véase también QCamera.

Documentación de tipos de miembros

enum QCameraDevice::Position

Este enum especifica la posición física de la cámara en el hardware del sistema.

ConstanteValorDescripción
QCameraDevice::UnspecifiedPosition0La posición de la cámara no está especificada o es desconocida.
QCameraDevice::BackFace1La cámara está en la cara posterior del hardware del sistema. Por ejemplo, en un dispositivo móvil, significa que está en el lado opuesto al de la pantalla.
QCameraDevice::FrontFace2La cámara está en la cara frontal del hardware del sistema. Por ejemplo, en un dispositivo móvil, significa que está en el mismo lado que la pantalla. Las cámaras frontales generan fotogramas de vídeo con la propiedad QVideoFrame::mirrored establecida en true. Esto significa que la presentación de estos fotogramas se voltea alrededor del eje vertical para mostrar la salida de vídeo como un espejo, mientras que la grabación sólo tiene en cuenta las transformaciones de la superficie especificadas en QVideoFrame::surfaceFormat.

Véase también position().

Documentación de propiedades

[read-only, since 6.7] correctionAngle : const QtVideo::Rotation

Devuelve el ángulo de rotación necesario para compensar la rotación física de la cámara con respecto a su orientación nativa. En otras palabras, la propiedad representa el ángulo en el sentido de las agujas del reloj por el que se debe girar la imagen de salida para que quede vertical en la pantalla del dispositivo en su orientación nativa. Dado que correctionAngle es relativo a la orientación nativa, este valor no cambia al alterar la orientación del dispositivo (retrato/paisaje). El ángulo de corrección puede ser distinto de cero sobre todo en Android, donde las orientaciones nativa y de la cámara son definidas por el fabricante.

Ejemplo con 90 grados \a correcciónÁngulo

Esta propiedad se introdujo en Qt 6.7.

Funciones de acceso:

QtVideo::Rotation correctionAngle() const

[read-only] description : const QString

Devuelve la descripción legible por humanos de la cámara.

Utilice esta cadena para presentar el dispositivo al usuario.

Funciones de acceso:

QString description() const

[read-only] id : const QByteArray

Devuelve el identificador de dispositivo de la cámara

Se trata de un ID único para identificar la cámara y puede no ser legible por humanos.

Funciones de acceso:

QByteArray id() const

[read-only] isDefault : const bool

Devuelve true si este es el dispositivo de cámara por defecto.

Funciones de acceso:

bool isDefault() const

[read-only] position : const Position

Devuelve la posición física de la cámara en el sistema hardware.

Funciones de acceso:

QCameraDevice::Position position() const

[read-only] videoFormats : const QList<QCameraFormat>

Devuelve los formatos de vídeo soportados por la cámara.

Funciones de acceso:

QList<QCameraFormat> videoFormats() const

Documentación de las funciones miembro

QCameraDevice::QCameraDevice()

Construye un dispositivo de cámara nulo

QCameraDevice::QCameraDevice(const QCameraDevice &other)

Construye una copia de other.

[noexcept] QCameraDevice::~QCameraDevice()

Destruye el QCameraDevice.

bool QCameraDevice::isNull() const

Devuelve true si este QCameraDevice es nulo o inválido.

QList<QSize> QCameraDevice::photoResolutions() const

Devuelve una lista de resoluciones que la cámara puede utilizar para capturar imágenes fijas.

Véase también QImageCapture.

bool QCameraDevice::operator!=(const QCameraDevice &other) const

Devuelve true si este QCameraDevice no representa el mismo dispositivo que other.

QCameraDevice &QCameraDevice::operator=(const QCameraDevice &other)

Establece el objeto QCameraDevice para que sea igual a other.

bool QCameraDevice::operator==(const QCameraDevice &other) const

Devuelve true si este QCameraDevice representa el mismo dispositivo que other.

Debido al comportamiento de las propiedades en QCameraDevice, dos instancias de QCameraDevice pueden considerarse iguales aunque no todas las propiedades sean iguales.

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