Sur cette page

QCameraDevice Class

La classe `QCameraDevice` fournit des informations générales sur les périphériques de caméra. En savoir plus...

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 périphérique de caméra physique et ses propriétés.

Vous pouvez identifier les caméras disponibles sur un système à l'aide des fonctions availableCameras() et defaultCamera(). Celles-ci sont définies dans QtMultimedia::MediaDevices.

L'instance de `QCameraDevice` conserve ses propriétés tout au long de son cycle de vie, même si le périphérique physique correspondant est déconnecté ou si ses paramètres sont modifiés. Pour suivre les mises à jour des propriétés, l'utilisateur doit charger de nouvelles instances de `QCameraDevice` à partir de ` QMediaDevices ` lorsque les signaux correspondants 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 objet `QCameraDevice` peut être utilisé pour créer un objet ` QCamera`. L'exemple suivant instancie un objet ` QCamera ` dont le périphérique 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 périphérique de caméra, telles que sa description et sa position physique sur le système.

QCamera myCamera;
QCameraDevice cameraDevice = myCamera.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 également 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
QCameraDevice::UnspecifiedPosition0La position de la caméra n'est pas spécifiée ou est inconnue.
QCameraDevice::BackFace1La caméra se trouve à l'arrière du matériel du système. Sur un appareil mobile, par exemple, 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 du système. Sur un appareil mobile, par exemple, 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 en miroir, tandis que l’enregistrement ne prend en compte que les transformations de la surface spécifiée dans ` QVideoFrame::surfaceFormat`.

Voir également position().

Documentation des 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 native. En d'autres termes, cette propriété représente l'angle dans le sens des aiguilles d'une montre dont l'image de sortie doit être pivotée pour s'afficher à l'endroit sur l'écran de l'appareil, dans son orientation native. Comme l'correctionAngle est relative à l'orientation native, cette valeur ne change pas lorsque l'orientation de l'appareil est modifiée (portrait/paysage). L'angle de correction peut être différent de zéro, principalement sur Android, où les orientations native et de l'appareil photo sont définies par le fabricant.

Exemple avec un angle de correction de 90 degrés \a

Cette énumération 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'utilisateur de la caméra.

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 la caméra

Il s'agit d'un identifiant unique permettant d'identifier la caméra ; il peut ne pas être lisible par l'utilisateur.

Fonctions d'accès :

QByteArray id() const

[read-only] isDefault : const bool

Renvoie « true » si le périphérique en question est la 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

Documentation des fonctions membres

QCameraDevice::QCameraDevice()

Crée un périphérique de caméra nul

QCameraDevice::QCameraDevice(const QCameraDevice &other)

Crée une copie de other.

[noexcept] QCameraDevice::~QCameraDevice()

Supprime l'QCameraDevice.

bool QCameraDevice::isNull() const

Renvoie « true » si cette instance de ` QCameraDevice ` est nulle ou non valide.

QList<QSize> QCameraDevice::photoResolutions() const

Renvoie une liste des résolutions que l'appareil photo peut utiliser pour prendre des photos.

Voir aussi QImageCapture.

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

Renvoie « true » si cette adresse QCameraDevice ne correspond pas au même appareil que other.

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

Définit l'objet ` QCameraDevice ` de manière à ce qu'il soit égal à ` other`.

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

Renvoie « true » si cet objet ` QCameraDevice ` représente le même périphérique que ` other`.

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

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