Sur cette page

QCameraDevice Class

La classe QCameraDevice fournit des informations générales sur les appareils photo. Plus d'informations...

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

Types publics

enum Position { UnspecifiedPosition, BackFace, FrontFace }

Propriétés

Fonctions publiques

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

Description détaillée

QCameraDevice représente un appareil photo physique et ses propriétés.

Vous pouvez découvrir les caméras disponibles sur un système en utilisant les fonctions availableCameras() et defaultCamera(). Celles-ci sont contenues dans QtMultimedia::MediaDevices.

L'instance de QCameraDevice conserve ses propriétés tout au long de sa durée de vie, même si le périphérique physique correspondant est déconnecté ou si ses paramètres sont modifiés. Pour garder une trace des propriétés mises à jour, l'utilisateur doit charger de nouvelles instances de QCameraDevice à partir de QMediaDevices lorsque les signaux pertinents sont déclenchés.

Cet exemple affiche le nom de toutes les caméras disponibles :

const QList<QCameraDevice> caméras = QMediaDevices::videoInputs() ;for(const QCameraDevice &cameraDevice: cameras)    qDebug() << cameraDevice.description();

Un QCameraDevice peut être utilisé pour construire un QCamera. L'exemple suivant instancie un QCamera dont le dispositif de caméra est nommé mycamera:

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

Vous pouvez également utiliser QCameraDevice pour obtenir des informations générales sur un dispositif de caméra, telles que sa description et sa position physique sur le système.

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

Voir aussi QCamera.

Documentation sur les types de membres

enum QCameraDevice::Position

Cette énumération spécifie la position physique de la caméra sur le matériel du système.

ConstanteValeurDescription de la position de la caméra
QCameraDevice::UnspecifiedPosition0La position de la caméra est non spécifiée ou inconnue.
QCameraDevice::BackFace1La caméra se trouve sur la face arrière du matériel système. Par exemple, sur un appareil mobile, cela signifie qu'elle se trouve du côté opposé à celui de l'écran.
QCameraDevice::FrontFace2La caméra se trouve sur la face avant du matériel. Par exemple, sur un appareil mobile, cela signifie qu'elle se trouve du même côté que l'écran. Les caméras frontales génèrent des images vidéo dont la propriété QVideoFrame::mirrored est définie sur true. Cela signifie que la présentation de ces images est inversée autour de l'axe vertical afin d'afficher la sortie vidéo comme un miroir, alors que l'enregistrement ne prend en compte que les transformations de la surface spécifiées dans QVideoFrame::surfaceFormat.

Voir également position().

Documentation sur les propriétés

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

Renvoie l'angle de rotation nécessaire pour compenser la rotation physique de la caméra par rapport à son orientation d'origine. En d'autres termes, cette propriété représente l'angle dans le sens des aiguilles d'une montre selon lequel l'image de sortie doit être tournée pour être à l'endroit sur l'écran de l'appareil dans son orientation d'origine. Étant donné que correctionAngle est relatif à l'orientation native, cette valeur ne change pas en cas de modification de l'orientation de l'appareil (portrait/paysage). L'angle de correction peut être différent de zéro, surtout sur Android, où l'orientation native et l'orientation de l'appareil photo sont définies par le fabricant.

Exemple avec 90 degrés \a correctionAngle

Cette propriété a été introduite dans Qt 6.7.

Fonctions d'accès :

QtVideo::Rotation correctionAngle() const

[read-only] description : const QString

Renvoie la description lisible par l'homme de l'appareil photo.

Utilisez cette chaîne pour présenter l'appareil à l'utilisateur.

Fonctions d'accès :

QString description() const

[read-only] id : const QByteArray

Renvoie l'identifiant de l'appareil photo

Il s'agit d'un identifiant unique permettant d'identifier la caméra et qui peut ne pas être lisible par l'homme.

Fonctions d'accès :

QByteArray id() const

[read-only] isDefault : const bool

Renvoie un message indiquant qu'il s'agit du dispositif de caméra par défaut.

Fonctions d'accès :

bool isDefault() const

[read-only] position : const Position

Renvoie la position physique de la caméra sur le système matériel.

Fonctions d'accès :

QCameraDevice::Position position() const

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

Renvoie les formats vidéo pris en charge par la caméra.

Fonctions d'accès :

QList<QCameraFormat> videoFormats() const

Fonction membre Documentation

QCameraDevice::QCameraDevice()

Construit un dispositif de caméra nul

QCameraDevice::QCameraDevice(const QCameraDevice &other)

Construit une copie de other.

[noexcept] QCameraDevice::~QCameraDevice()

Détruit le site QCameraDevice.

bool QCameraDevice::isNull() const

Retourne vrai si cette QCameraDevice est nulle ou invalide.

QList<QSize> QCameraDevice::photoResolutions() const

Renvoie une liste de résolutions que la caméra peut utiliser pour capturer des images fixes.

Voir également QImageCapture.

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

Retourne true si ce QCameraDevice ne représente pas le même dispositif que other.

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

Définit l'objet QCameraDevice comme étant égal à other.

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

Retourne vrai si cette instance QCameraDevice représente le même appareil que other.

En raison du comportement des propriétés dans QCameraDevice, deux instances de QCameraDevice peuvent être considérées comme égales même si toutes les propriétés ne sont pas égales.

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