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.
| Constante | Valor | Descripción |
|---|---|---|
QCameraDevice::UnspecifiedPosition | 0 | La posición de la cámara no está especificada o es desconocida. |
QCameraDevice::BackFace | 1 | La 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::FrontFace | 2 | La 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.

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.