Sur cette page

QCamera Class

La classe QCamera fournit une interface pour les appareils photo du système. En savoir plus...

En-tête : #include <QCamera>
CMake : find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake : QT += multimedia
En QML : Camera
Hérite de : QObject

Types publics

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 }

Propriétés

Fonctions publiques

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

Emplacements publics

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)

Signaux

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)

Description détaillée

QCamera peut être utilisé au sein d'une instance de ` QMediaCaptureSession ` pour l'enregistrement vidéo et la prise de photos.

Vous pouvez utiliser l'QCameraDevice pour répertorier les caméras disponibles et choisir celle que vous souhaitez utiliser.

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

Sur les matériels qui le prennent en charge, l'QCamera vous permet de régler la mise au point et le zoom. Les propriétés minimumZoomFactor et maximumZoomFactor fournissent la plage des facteurs de zoom pris en charge. La propriété zoomFactor permet de modifier le facteur de zoom.

camera->setZoomFactor(camera->maximumZoomFactor()); // zoom in as much as possible

Après la capture des données brutes d’une image, le matériel et le logiciel de la caméra effectuent diverses tâches de traitement d’image pour produire l’image finale. Cela inclut la compensation de la couleur de la lumière ambiante, la réduction du bruit, ainsi que d’autres ajustements de l’image.

Vous pouvez contrôler bon nombre de ces étapes de traitement via les propriétés de la caméra. Par exemple, vous pouvez définir la balance des blancs (ou la température de couleur) utilisée pour le traitement des images :

camera->setWhiteBalanceMode(QCamera::WhiteBalanceManual);
camera->setColorTemperature(5600);

Pour plus d’informations sur le traitement des images capturées par la caméra, consultez la section Traitement des images de la caméra.

La plupart des plateformes exigent que l’utilisateur final accorde des autorisations avant qu’une caméra puisse être activée. Il est donc fortement recommandé aux développeurs d’applications d’utiliser la classe ` QCameraPermission ` lorsqu’ils travaillent avec des caméras. Voici un bref exemple qui demande des autorisations à l’utilisateur final au démarrage de l’application, puis active la caméra si les autorisations sont accordées.

qApp->requestPermission(QCameraPermission{}, [](const QPermission &permission) {
    if (permission.status() == Qt::PermissionStatus::Granted)
        camera->setActive(true);
});

Consultez la présentation de la caméra pour plus d’informations.

Remarque : sur la plateforme WebAssembly, en raison de sa nature asynchrone, le signal ` QMediaDevices::videoInputsChanged()` est émis lorsque la liste des entrées vidéo est prête. Les autorisations de l’utilisateur sont requises. Ne fonctionne que dans des contextes https sécurisés.

Documentation sur les types de membres

enum QCamera::Error

Cette énumération contient le dernier code d'erreur.

ConstanteValeurDescription
QCamera::NoError0Aucune erreur ne s'est produite.
QCamera::CameraError1Une erreur s'est produite.

enum QCamera::ExposureMode

ConstanteValeurDescription
QCamera::ExposureAuto0Mode automatique.
QCamera::ExposureManual1Mode manuel.
QCamera::ExposurePortrait2Mode d'exposition « Portrait ».
QCamera::ExposureNight3Mode nuit.
QCamera::ExposureSports4Mode d'exposition « Spots ».
QCamera::ExposureSnow5Mode d'exposition « Neige ».
QCamera::ExposureBeach6Mode d'exposition « Plage ».
QCamera::ExposureAction7Mode Action. Depuis la version 5.5
QCamera::ExposureLandscape8Mode Paysage. À partir de la version 5.5
QCamera::ExposureNightPortrait9Mode « Portrait de nuit ». À partir de la version 5.5
QCamera::ExposureTheatre10Mode « Théâtre ». À partir de la version 5.5
QCamera::ExposureSunset11Mode « Coucher de soleil ». Depuis la version 5.5
QCamera::ExposureSteadyPhoto12Mode « Photo stable ». Depuis la version 5.5
QCamera::ExposureFireworks13Mode « Feux d'artifice ». Depuis la version 5.5
QCamera::ExposureParty14Mode « Fête ». Depuis la version 5.5
QCamera::ExposureCandlelight15Mode « À la lueur des bougies ». Depuis la version 5.5
QCamera::ExposureBarcode16Mode « Code-barres ». Depuis la version 5.5

enum class QCamera::Feature
flags QCamera::Features

Décrit un ensemble de fonctionnalités prises en charge par l'appareil photo. La valeur renvoyée peut être une combinaison des éléments suivants :

ConstanteValeurDescription
QCamera::Feature::ColorTemperature0x1L'appareil photo prend en charge la configuration d'une colorTemperature personnalisée.
QCamera::Feature::ExposureCompensation0x2La caméra prend en charge la configuration d'une exposureCompensation personnalisée.
QCamera::Feature::IsoSensitivity0x4La caméra prend en charge la configuration d'un isoSensitivity personnalisé.
QCamera::Feature::ManualExposureTime0x8L'appareil photo prend en charge la configuration d'une manual exposure Time.
QCamera::Feature::CustomFocusPoint0x10La caméra prend en charge la configuration d’une custom focus point.
QCamera::Feature::FocusDistance0x20La caméra prend en charge la définition de la propriété « focusDistance ».

Le type Features est un typedef pour QFlags<Feature>. Il stocke une combinaison OR de valeurs Feature.

enum QCamera::FlashMode

ConstanteValeurDescription
QCamera::FlashOff0Le flash est désactivé.
QCamera::FlashOn1Le flash est activé.
QCamera::FlashAuto2Flash automatique.

enum QCamera::FocusMode

ConstanteValeurDescription
QCamera::FocusModeAuto0Mode de mise au point automatique en continu.
QCamera::FocusModeAutoNear1Mode de mise au point automatique en continu sur des objets proches.
QCamera::FocusModeAutoFar2Mode de mise au point automatique continue sur des objets éloignés.
QCamera::FocusModeHyperfocal3Mise au point à la distance hyperfocale, avec une profondeur de champ maximale. Tous les objets situés à des distances comprises entre la moitié de cette distance et l'infini seront suffisamment nets.
QCamera::FocusModeInfinity4Mise au point strictement à l'infini.
QCamera::FocusModeManual5La distance de mise au point de l'objectif de l'appareil photo est verrouillée conformément à focusDistance.

enum QCamera::TorchMode

ConstanteValeurDescription
QCamera::TorchOff0La lampe est éteinte.
QCamera::TorchOn1La torche est allumée.
QCamera::TorchAuto2Torche automatique.

enum QCamera::WhiteBalanceMode

ConstanteValeurDescription
QCamera::WhiteBalanceAuto0Mode de balance des blancs automatique.
QCamera::WhiteBalanceManual1Balance des blancs manuelle. Dans ce mode, la balance des blancs doit être réglée à l'aide de l'setColorTemperature e ()
QCamera::WhiteBalanceSunlight2Mode de balance des blancs « Lumière du soleil ».
QCamera::WhiteBalanceCloudy3Mode de balance des blancs « Nuageux ».
QCamera::WhiteBalanceShade4Mode de balance des blancs « Ombre ».
QCamera::WhiteBalanceTungsten5Mode de balance des blancs « tungstène » (incandescent).
QCamera::WhiteBalanceFluorescent6Mode de balance des blancs « Fluorescent ».
QCamera::WhiteBalanceFlash7Mode de balance des blancs « Flash ».
QCamera::WhiteBalanceSunset8Mode de balance des blancs « Coucher de soleil ».

Documentation sur les propriétés

active : bool

Indique si la caméra est actuellement active.

Fonctions d'accès :

bool isActive() const
void setActive(bool active)

Signal de notification :

void activeChanged(bool)

cameraDevice : QCameraDevice

Renvoie l'objet ` QCameraDevice ` associé à cette caméra.

Lors du changement de caméra, les capacités de l'QCamera sont mises à jour. De plus, les propriétés de contrôle de l'QCamera(telles que focusMode, flashMode, focusDistance, zoomFactor) sont mises à jour comme suit :

  • Si une propriété est prise en charge par le nouvel appareil, sa valeur est appliquée à la caméra.
  • Si une propriété est prise en charge mais que sa plage de valeurs valides a été modifiée, la propriété est limitée à la nouvelle plage et appliquée à la caméra.
  • Si le nouvel appareil photo ne prend pas en charge une propriété, la valeur de cette propriété est réinitialisée à sa valeur par défaut et aucune modification n’est apportée à l’appareil photo.

Fonctions d’accès :

QCameraDevice cameraDevice() const
void setCameraDevice(const QCameraDevice &cameraDevice)

Signal de notification :

void cameraDeviceChanged()

cameraFormat : QCameraFormat

Renvoie le format actuellement utilisé par la caméra.

Remarque : lorsque vous utilisez le backend FFMPEG sur un appareil Android cible, si vous demandez le format YUV420P, vous obtiendrez soit un format YUV420P 4:2:0 entièrement planaire, soit un format NV12/NV21 semi-planaire. Cela dépend du codec implémenté par le fabricant de l'appareil.

Remarque : sous macOS, les caméras sont partagées entre plusieurs applications du système d’exploitation. Cela signifie qu’une autre application peut remplacer le format défini par cette propriété. Les développeurs d’applications doivent s’attendre à recevoir des images vidéo dont la résolution, le format de pixels et la fréquence d’images diffèrent de ceux décrits par cette propriété. Cette propriété ne change pas lorsque le format de l’appareil est modifié par une autre application. Le format décrit par cette propriété peut être réappliqué à l’appareil en réactivant l’ QCamera.

Fonctions d’accès :

QCameraFormat cameraFormat() const
void setCameraFormat(const QCameraFormat &format)

Signal de notification :

void cameraFormatChanged()

Voir également QCameraDevice::videoFormats.

colorTemperature : int

Renvoie la température de couleur actuelle si le mode de balance des blancs actuel est « WhiteBalanceManual ». Pour les autres modes, la valeur renvoyée n'est pas définie.

Fonctions d’accès :

int colorTemperature() const
void setColorTemperature(int colorTemperature)

Signal de notification :

void colorTemperatureChanged() const

customFocusPoint : QPointF

Cette propriété représente la position du point de mise au point personnalisé, en coordonnées relatives du cadre : QPointF(0,0) correspond au coin supérieur gauche du cadre, QPointF(0,5,0,5) correspond au centre du cadre.

Vous pouvez vérifier si les points de mise au point personnalisés sont pris en charge en interrogeant la méthode supportedFeatures() avec le drapeau Feature.CustomFocusPoint.

Fonctions d’accès :

QPointF customFocusPoint() const
void setCustomFocusPoint(const QPointF &point)

Signal de notification :

void customFocusPointChanged()

[read-only] error : Error

Renvoie l'état d'erreur de la caméra.

Fonctions d'accès :

QCamera::Error error() const

Signal de notification :

void errorChanged()

Voir aussi QCamera::Error.

[read-only] errorString : QString

Renvoie une chaîne lisible décrivant l'état d'erreur d'une caméra.

Fonctions d'accès :

QString errorString() const

Signal de notification :

void errorChanged()

exposureCompensation : float

Compensation d'exposition en unités EV.

La fonction de compensation d'exposition permet d'ajuster l'exposition calculée automatiquement.

Fonctions d'accès :

float exposureCompensation() const
void setExposureCompensation(float ev)

Signal de notification :

void exposureCompensationChanged(float value)

exposureMode : QCamera::ExposureMode

Cette propriété contient le mode d'exposition actuellement utilisé.

Fonctions d'accès :

QCamera::ExposureMode exposureMode() const
void setExposureMode(QCamera::ExposureMode mode)

Signal de notification :

void exposureModeChanged()

Voir aussi QCamera::isExposureModeSupported.

[read-only] exposureTime : float

Temps d'exposition de l'appareil photo en secondes.

Fonctions d'accès :

float exposureTime() const

Signal de notification :

void exposureTimeChanged(float speed)

Voir également minimumExposureTime(), maximumExposureTime() et setManualExposureTime().

flashMode : QCamera::FlashMode

Cette propriété contient le mode flash actuellement utilisé.

Active un mode flash spécifique si l'appareil photo est équipé d'un flash.

L'attribution d'un mode non pris en charge à cette propriété n'a aucun effet.

Cette propriété n'a d'effet que lors de la capture d'images à l'aide de QImageCapture

Fonctions d’accès :

QCamera::FlashMode flashMode() const
void setFlashMode(QCamera::FlashMode mode)

Signal de notification :

void flashModeChanged()

Voir également QCamera::FlashMode, QCamera::isFlashModeSupported et QCamera::isFlashReady.

[read-only] flashReady : bool

Indique si le flash est chargé et prêt à l'emploi.

Fonctions d'accès :

bool isFlashReady() const[see note below]

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

Signal de notification :

void flashReady(bool ready)

focusDistance : float

Cette propriété définit la distance de mise au point de l'objectif lorsque l'appareil photo fonctionne en mode de mise au point manuelle. Les valeurs valides vont de 0 à 1, où 0 correspond à la distance de mise au point la plus proche possible et 1 à la plus éloignée. Le point le plus éloigné se situe généralement à l'infini, mais cela peut ne pas être le cas pour tous les appareils.

Cette propriété s’applique à l’appareil uniquement lorsque ` focusMode ` est défini sur ` FocusModeManual` et que ` supportedFeatures ` inclut l’indicateur ` Feature::FocusDistance `.

Si vous attribuez une valeur à cette propriété alors que l’option « focusMode » n’est pas définie sur « QCamera::FocusModeManual », la propriété enregistre la valeur mais n’affecte pas le périphérique tant que l’option « QCamera::FocusModeManual » n’est pas active.

L'attribution d'une valeur en dehors de la plage valide [0, 1] n'a aucun effet sur cette propriété.

Si « supportedFeatures » n'inclut pas l'indicateur « FocusDistance », toute tentative de configuration de cette propriété est ignorée.

Cette propriété ne sera pas mise à jour par la caméra lorsqu’elle est en mode de mise au point automatique.

La valeur par défaut est 1.

Fonctions d’accès :

float focusDistance() const
void setFocusDistance(float d)

Signal de notification :

void focusDistanceChanged(float)

focusMode : FocusMode

Cette propriété contient le mode de mise au point actuel de l'appareil photo.

Cette propriété contient la valeur qui contrôle le mode de mise au point de l'appareil photo. Dans tous les modes de mise au point automatique, l'appareil photo effectue une mise au point en continu.

Pour vérifier si l'appareil photo prend en charge un mode de mise au point particulier, transmettez la valeur correspondante de ` FocusMode ` à la fonction ` isFocusModeSupported ` en tant que paramètre. La fonction renvoie `false` si la valeur du mode de mise au point n'est pas prise en charge. L'attribution d'un mode non pris en charge à cette propriété n'a aucun effet.

Si vous définissez la propriété focusMode sur QCamera::FocusModeManual, l'objectif verrouille la mise au point conformément à focusDistance.

Fonctions d'accès :

QCamera::FocusMode focusMode() const
void setFocusMode(QCamera::FocusMode mode)

Signal de notification :

Voir également isFocusModeSupported().

[read-only] focusPoint : QPointF

Renvoie le point actuellement utilisé par le système de mise au point automatique pour effectuer la mise au point.

Fonctions d'accès :

QPointF focusPoint() const

Signal de notification :

void focusPointChanged()

[read-only] isoSensitivity : int

Cette propriété indique la sensibilité ISO du capteur.

Elle décrit la sensibilité ISO actuellement utilisée par l'appareil photo.

Fonctions d'accès :

int isoSensitivity() const

Signal de notification :

void isoSensitivityChanged(int value)

Voir également setAutoIsoSensitivity() et setManualIsoSensitivity().

manualExposureTime : float

Réglez la durée d'exposition manuelle sur seconds

Fonctions d'accès :

float manualExposureTime() const
void setManualExposureTime(float seconds)

Signal de notification :

void manualExposureTimeChanged(float speed)

manualIsoSensitivity : int

Décrit une sensibilité ISO réglée manuellement

Si cette propriété est définie sur -1 (valeur par défaut), cela signifie que l'appareil photo règle automatiquement la sensibilité ISO.

Fonctions d'accès :

int manualIsoSensitivity() const
void setManualIsoSensitivity(int iso)

Signal de notification :

void manualIsoSensitivityChanged(int)

[read-only] maximumZoomFactor : float

Renvoie le facteur de zoom maximal.

Cette valeur sera égale à 1.0 sur les appareils photo ne prenant pas en charge le zoom.

Fonctions d'accès :

float maximumZoomFactor() const

Signal de notification :

void maximumZoomFactorChanged(float)

[read-only] minimumZoomFactor : float

Renvoie le facteur de zoom minimal.

Cette valeur sera égale à 1.0 sur les caméras qui ne prennent pas en charge le zoom.

Fonctions d'accès :

float minimumZoomFactor() const

Signal de notification :

void minimumZoomFactorChanged(float)

[read-only] supportedFeatures : Features

Renvoie les fonctionnalités prises en charge par cet appareil photo.

Fonctions d'accès :

QCamera::Features supportedFeatures() const

Signal de notification :

void supportedFeaturesChanged()

Voir aussi QCamera::Feature.

torchMode : QCamera::TorchMode

Cette propriété contient le mode « lampe de poche » actuellement utilisé.

Une lampe torche est une source de lumière continue. Elle peut être utilisée pendant l'enregistrement vidéo dans des conditions de faible luminosité. L'activation du mode lampe torche remplace généralement tout mode flash actuellement sélectionné.

Fonctions d'accès :

QCamera::TorchMode torchMode() const
void setTorchMode(QCamera::TorchMode mode)

Signal de notification :

void torchModeChanged()

Voir également QCamera::TorchMode, QCamera::isTorchModeSupported et QCamera::flashMode.

whiteBalanceMode : WhiteBalanceMode

Renvoie le mode de balance des blancs actuellement utilisé.

Fonctions d'accès :

QCamera::WhiteBalanceMode whiteBalanceMode() const
void setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Signal de notification :

void whiteBalanceModeChanged() const

zoomFactor : float

Cette propriété contient le facteur de zoom actuel.

Récupère ou définit le facteur de zoom actuel. Les valeurs sont limitées entre minimumZoomFactor et maximumZoomFactor.

Fonctions d'accès :

float zoomFactor() const
void setZoomFactor(float factor)

Signal de notification :

void zoomFactorChanged(float)

Documentation des fonctions membres

[explicit] QCamera::QCamera(QObject *parent = nullptr)

Créer une QCamera avec une parent.

Sélectionne la caméra par défaut du système si plusieurs caméras sont disponibles.

[explicit] QCamera::QCamera(QCameraDevice::Position position, QObject *parent = nullptr)

Créez une instance de QCamera utilisant une caméra matérielle située à l'adresse spécifiée position.

Par exemple, sur un téléphone mobile, cela permet de choisir facilement entre la caméra avant et la caméra arrière.

Si aucune caméra n’est disponible à l’ position spécifiée ou si position est QCameraDevice::UnspecifiedPosition, la caméra par défaut est utilisée.

[explicit] QCamera::QCamera(const QCameraDevice &cameraDevice, QObject *parent = nullptr)

Créer une instance de `QCamera` à partir d'une description de caméra cameraDevice et parent.

[override virtual noexcept] QCamera::~QCamera()

Supprime l'objet caméra.

QMediaCaptureSession *QCamera::captureSession() const

Renvoie la session de capture à laquelle cette caméra est connectée, ou un `nullptr` si la caméra n'est pas connectée à une session de capture.

Utilisez la fonction ` QMediaCaptureSession::setCamera()` pour connecter la caméra à une session.

[signal] void QCamera::errorOccurred(QCamera::Error error, const QString &errorString)

Ce signal est émis lorsque l'état d'erreur passe à « error ». Une description de l'erreur est fournie sous la forme « errorString ».

[signal] void QCamera::exposureCompensationChanged(float value)

Signal émis lorsque la compensation d'exposition passe à la valeur « value ».

Remarque : signalde notification pour la propriété exposureCompensation.

float QCamera::exposureTime() const

Renvoie la durée d'exposition actuelle en secondes.

Remarque : fonctiongetter pour la propriété exposureTime.

[signal] void QCamera::exposureTimeChanged(float speed)

Indique que l'speed d'exposition d'une caméra a changé.

Remarque : signalde notification pour la propriété « exposureTime ».

[signal] void QCamera::flashReady(bool ready)

Indique que l'état de l'ready du flash a changé.

Remarque : signalde notification pour la propriété flashReady.

[signal] void QCamera::focusModeChanged()

Émet un signal lorsque la propriété « focusMode » change.

Remarque : signalde notification pour la propriété focusMode.

bool QCamera::isActive() const

Renvoie « true » si la caméra est actuellement active.

Remarque : fonctiongetter pour la propriété « active ».

bool QCamera::isAvailable() const

Renvoie « true » si la caméra peut être utilisée.

[invokable] bool QCamera::isExposureModeSupported(QCamera::ExposureMode mode) const

Renvoie « true » si l’ mode d’exposition est prise en charge.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isFlashModeSupported(QCamera::FlashMode mode) const

Renvoie « true » si l'mode Flash est prise en charge.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isFlashReady() const

Renvoie « true » si le flash est chargé.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

Remarque : fonctiongetter pour la propriété flashReady.

[invokable] bool QCamera::isFocusModeSupported(QCamera::FocusMode mode) const

Renvoie « true » si la mise au point « mode » est prise en charge par la caméra.

Si « FocusModeManual » est signalé comme pris en charge, la fonctionnalité « Feature::FocusDistance » est également considérée comme prise en charge.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isTorchModeSupported(QCamera::TorchMode mode) const

Renvoie « true » si l'mode « torch » est prise en charge.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[invokable] bool QCamera::isWhiteBalanceModeSupported(QCamera::WhiteBalanceMode mode) const

Renvoie « true » si l'mode de balance des blancs est prise en charge.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

[signal] void QCamera::isoSensitivityChanged(int value)

Signal émis lorsque la sensibilité passe à value.

Remarque : signalde notification pour la propriété isoSensitivity.

float QCamera::manualExposureTime() const

Renvoie la durée d'exposition manuelle en secondes, ou -1 si l'appareil photo utilise des durées d'exposition automatiques.

Remarque : fonctiongetter pour la propriété `manualExposureTime`.

Voir aussi setManualExposureTime().

float QCamera::maximumExposureTime() const

La durée maximale d'exposition, en secondes.

int QCamera::maximumIsoSensitivity() const

Renvoie la sensibilité ISO maximale prise en charge par l'appareil photo.

float QCamera::minimumExposureTime() const

La durée minimale d'exposition, en secondes.

int QCamera::minimumIsoSensitivity() const

Renvoie la sensibilité ISO minimale prise en charge par l'appareil photo.

[slot] void QCamera::setActive(bool active)

Active la caméra si la propriété active a la valeur « true », ou la désactive si elle a la valeur « false ».

Remarque : fonctionde définition pour la propriété active.

Voir aussi isActive().

[slot] void QCamera::setAutoExposureTime()

Utiliser la durée d'exposition calculée automatiquement

[slot] void QCamera::setAutoIsoSensitivity()

Activer la sensibilité automatique

void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)

Relie l'objet caméra au périphérique physique décrit par cameraDevice. L'utilisation d'un objet QCameraDevice créé par défaut comme cameraDevice permettra de connecter la caméra au périphérique par défaut du système.

Lors du changement de périphérique de caméra, les capacités de l'QCamera sont mises à jour. De plus, les propriétés de contrôle de l'QCamera(telles que focusMode, flashMode, focusDistance, zoomFactor) sont mises à jour comme suit :

  • Si une propriété est prise en charge sur le nouvel appareil, sa valeur est appliquée à la caméra.
  • Si une propriété est prise en charge mais que sa plage de valeurs valides a été modifiée, la propriété est limitée à la nouvelle plage et appliquée à la caméra.
  • Si le nouvel appareil photo ne prend pas en charge une propriété, la valeur de cette propriété est réinitialisée à sa valeur par défaut et aucune modification n’est apportée à l’appareil photo.

Remarque : fonctionde définition pour la propriété cameraDevice.

Voir également ` cameraDevice()`.

void QCamera::setCameraFormat(const QCameraFormat &format)

Indique à la caméra d'utiliser le format décrit à l'adresse format. Cette option permet de définir une résolution et une fréquence d'images spécifiques à utiliser pour l'enregistrement et la capture d'images.

Remarque : lorsque vous utilisez le backend FFMPEG sur un appareil Android cible, si vous demandez le format YUV420P, vous obtiendrez soit un YUV420P 4:2:0 entièrement planaire, soit un NV12/NV21 semi-planaire. Cela dépend du codec implémenté par le fabricant de l'appareil.

Remarque : fonctionde définition de la propriété cameraFormat.

Voir également cameraFormat().

[slot] void QCamera::setColorTemperature(int colorTemperature)

Définit la balance des blancs manuelle sur colorTemperature. Cette option est utilisée lorsque whiteBalanceMode() est défini sur WhiteBalanceManual. Les unités sont exprimées en kelvins.

La définition d’une température de couleur n’aura d’effet que si la propriété WhiteBalanceManual est prise en charge. Dans ce cas, définir une température supérieure à 0 réglera automatiquement le mode de balance des blancs sur WhiteBalanceManual. Définir la température sur 0 réinitialisera le mode de balance des blancs sur WhiteBalanceAuto.

Remarque : fonctionde définition de la propriété colorTemperature.

Voir également colorTemperature().

[slot] void QCamera::setWhiteBalanceMode(QCamera::WhiteBalanceMode mode)

Définit la balance des blancs sur « mode ».

Remarque : fonctionde définition de la propriété whiteBalanceMode.

Voir également whiteBalanceMode().

void QCamera::setZoomFactor(float factor)

Effectue un zoom avec un facteur de zoom de factor à raison d'un facteur par seconde.

Remarque : fonctionde définition de la propriété zoomFactor.

Voir également zoomFactor().

[slot] void QCamera::start()

Lance la caméra.

Identique à ` setActive(true)`.

Si, pour une raison quelconque, la caméra ne peut pas être lancée, le signal errorOccurred() est émis.

[slot] void QCamera::stop()

Arrête la caméra. Équivalent à ` setActive(false)`.

[slot] void QCamera::zoomTo(float factor, float rate)

Effectue un zoom jusqu'à un facteur de zoom factor à l'aide de rate.

La valeur rate est exprimée en puissances de deux par seconde. Avec un taux de 1, il faudrait 2 secondes pour passer d'un facteur de zoom de 1 à 4.

Remarque : l'utilisation d'un taux spécifique n'est pas prise en charge par tous les appareils photo. Si cette fonctionnalité n'est pas prise en charge, le zoom s'effectuera aussi rapidement que possible.

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