Auf dieser Seite

QCamera Class

Die Klasse „QCamera“ stellt eine Schnittstelle für Systemkameras bereit. Mehr...

Header: #include <QCamera>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
In QML: Camera
Erbt von: QObject

Öffentliche Typen

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 }

Eigenschaften

Öffentliche Funktionen

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

Öffentliche Slots

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)

Signale

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)

Ausführliche Beschreibung

QCamera kann innerhalb eines „ QMediaCaptureSession “ zur Videoaufzeichnung und Bildaufnahme verwendet werden.

Mit „ QCameraDevice “ können Sie verfügbare Kameras auflisten und auswählen, welche verwendet werden soll.

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

Auf Hardware, die dies unterstützt, können Sie mit „ QCamera “ den Fokus und den Zoom einstellen. Die Eigenschaften „ minimumZoomFactor “ und „ maximumZoomFactor “ geben den Bereich der unterstützten Zoomfaktoren an. Mit der Eigenschaft „ zoomFactor “ lässt sich der Zoomfaktor ändern.

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

Nach der Erfassung der Rohdaten für ein Kamerabild führen die Kamera-Hardware und -Software verschiedene Bildverarbeitungsschritte durch, um das endgültige Bild zu erzeugen. Dazu gehören die Kompensation der Umgebungslichtfarbe, die Rauschunterdrückung sowie weitere Anpassungen am Bild.

Viele dieser Verarbeitungsschritte können Sie über die Kameraeigenschaften steuern. So können Sie beispielsweise den für die Bildverarbeitung verwendeten Weißabgleich (oder die Farbtemperatur) festlegen:

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

Weitere Informationen zur Bildverarbeitung von Kamerabildern finden Sie unter „Kamerabildverarbeitung“.

Auf den meisten Plattformen muss der Endbenutzer Berechtigungen erteilen, bevor eine Kamera aktiviert werden kann. Es wird daher dringend empfohlen, dass Anwendungsentwickler bei der Arbeit mit Kameras die Klasse „ QCameraPermission “ verwenden. Im Folgenden finden Sie ein kurzes Beispiel, das beim Start der Anwendung Berechtigungen vom Endbenutzer anfordert und die Kamera anschließend aktiviert, sofern die Berechtigungen erteilt wurden.

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

Weitere Informationen finden Sie in der Kameraübersicht.

Hinweis: Auf der WebAssembly-Plattform wird aufgrund ihres asynchronen Charakters das Signal „ QMediaDevices::videoInputsChanged()“ ausgegeben, sobald die Liste der Videoeingänge bereitsteht. Es sind Benutzerberechtigungen erforderlich. Funktioniert nur in sicheren HTTPS-Kontexten.

Dokumentation zum Mitgliedstyp

enum QCamera::Error

Diese Enumeration enthält den letzten Fehlercode.

KonstanteWertBeschreibung
QCamera::NoError0Es sind keine Fehler aufgetreten.
QCamera::CameraError1Es ist ein Fehler aufgetreten.

enum QCamera::ExposureMode

KonstanteWertBeschreibung
QCamera::ExposureAuto0Automatikmodus.
QCamera::ExposureManual1Manueller Modus.
QCamera::ExposurePortrait2Porträt-Belichtungsmodus.
QCamera::ExposureNight3Nachtmodus.
QCamera::ExposureSports4Spot-Belichtungsmodus.
QCamera::ExposureSnow5Belichtungsmodus „Schnee“.
QCamera::ExposureBeach6Strand-Belichtungsmodus.
QCamera::ExposureAction7Action-Modus. Ab Version 5.5
QCamera::ExposureLandscape8Landschaftsmodus. Ab Version 5.5
QCamera::ExposureNightPortrait9Nachtporträt-Modus. Seit 5.5
QCamera::ExposureTheatre10Theater-Modus. Ab 5.5
QCamera::ExposureSunset11Sonnenuntergangsmodus. Ab 5.5
QCamera::ExposureSteadyPhoto12Verwacklungsfreier Fotomodus. Seit 5.5
QCamera::ExposureFireworks13Feuerwerksmodus. Seit 5.5
QCamera::ExposureParty14Party-Modus. Seit 5.5
QCamera::ExposureCandlelight15Kerzenlicht-Modus. Seit 5.5
QCamera::ExposureBarcode16Barcode-Modus. Seit 5.5

enum class QCamera::Feature
flags QCamera::Features

Beschreibt eine Reihe von Funktionen, die von der Kamera unterstützt werden. Der zurückgegebene Wert kann eine Kombination aus folgenden Elementen sein:

KonstanteWertBeschreibung
QCamera::Feature::ColorTemperature0x1Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ colorTemperature “.
QCamera::Feature::ExposureCompensation0x2Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ exposureCompensation “.
QCamera::Feature::IsoSensitivity0x4Die Kamera unterstützt die Einstellung eines benutzerdefinierten „ isoSensitivity “.
QCamera::Feature::ManualExposureTime0x8Die Kamera unterstützt die Einstellung einer „ manual exposure Time “.
QCamera::Feature::CustomFocusPoint0x10Die Kamera unterstützt die Einstellung einer „ custom focus point “.
QCamera::Feature::FocusDistance0x20Die Kamera unterstützt die Einstellung der Eigenschaft „ focusDistance “.

Der Typ „Features“ ist ein typedef für QFlags<Feature>. Er speichert eine ODER-Kombination von Feature-Werten.

enum QCamera::FlashMode

KonstanteWertBeschreibung
QCamera::FlashOff0Blitz ist ausgeschaltet.
QCamera::FlashOn1Blitz ist eingeschaltet.
QCamera::FlashAuto2Automatischer Blitz.

enum QCamera::FocusMode

KonstanteWertBeschreibung
QCamera::FocusModeAuto0Kontinuierlicher Autofokus-Modus.
QCamera::FocusModeAutoNear1Kontinuierlicher Autofokus-Modus bei nahen Objekten.
QCamera::FocusModeAutoFar2Kontinuierlicher Autofokus-Modus bei weit entfernten Objekten.
QCamera::FocusModeHyperfocal3Fokussierung auf die Hyperfokaldistanz, wobei die maximale Schärfentiefe erreicht wird. Alle Objekte in Entfernungen von der Hälfte dieser Distanz bis unendlich werden akzeptabel scharf abgebildet.
QCamera::FocusModeInfinity4Fokussierung ausschließlich auf Unendlichkeit.
QCamera::FocusModeManual5Die Fokusentfernung des Kameraobjektivs wird gemäß focusDistance fixiert.

enum QCamera::TorchMode

KonstanteWertBeschreibung
QCamera::TorchOff0Die Taschenlampe ist ausgeschaltet.
QCamera::TorchOn1Der Brenner ist eingeschaltet.
QCamera::TorchAuto2Automatischer Brenner.

enum QCamera::WhiteBalanceMode

KonstanteWertBeschreibung
QCamera::WhiteBalanceAuto0Automatischer Weißabgleich-Modus.
QCamera::WhiteBalanceManual1Manueller Weißabgleich. In diesem Modus sollte der Weißabgleich mit „ setColorTemperature “ () eingestellt werden
QCamera::WhiteBalanceSunlight2Weißabgleichsmodus „Sonnenlicht“.
QCamera::WhiteBalanceCloudy3Weißabgleich-Modus „Bewölkt“.
QCamera::WhiteBalanceShade4Weißabgleich-Modus „Schatten“.
QCamera::WhiteBalanceTungsten5Weißabgleich-Modus „Glühlampe“.
QCamera::WhiteBalanceFluorescent6Weißabgleich-Modus „Leuchtstofflampe“.
QCamera::WhiteBalanceFlash7Weißabgleich-Modus „Blitz“.
QCamera::WhiteBalanceSunset8Weißabgleichmodus „Sonnenuntergang“.

Dokumentation zu den Eigenschaften

active : bool

Gibt an, ob die Kamera derzeit aktiv ist.

Zugriffsfunktionen:

bool isActive() const
void setActive(bool active)

Benachrichtigungssignal:

void activeChanged(bool)

cameraDevice : QCameraDevice

Gibt das mit dieser Kamera verknüpfte „ QCameraDevice “-Objekt zurück.

Beim Wechseln der Kamerageräte werden die Funktionen des „ QCamera “ aktualisiert. Zudem werden die Steuerungseigenschaften des „ QCamera “ (wie z. B. „ focusMode “, „ flashMode “, „ focusDistance “ und „ zoomFactor “) wie folgt aktualisiert:

  • Wird eine Eigenschaft auf dem neuen Gerät unterstützt, wird der Wert dieser Eigenschaft auf das Kameragerät angewendet.
  • Wenn eine Eigenschaft zwar unterstützt wird, sich ihr gültiger Wertebereich jedoch geändert hat, wird die Eigenschaft auf den neuen Wertebereich begrenzt und auf das Kameragerät angewendet.
  • Wenn das neue Kameragerät eine Eigenschaft nicht unterstützt, wird der Eigenschaftswert auf den Standardwert zurückgesetzt, und es werden keine Änderungen am Kameragerät vorgenommen.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void cameraDeviceChanged()

cameraFormat : QCameraFormat

Gibt das derzeit von der Kamera verwendete Kameraformat zurück.

Hinweis: Wenn Sie das FFMPEG-Backend auf einem Android-Zielgerät verwenden und das YUV420P- Format anfordern, erhalten Sie entweder ein vollständig planares 4:2:0-YUV420P oder ein semi-planares NV12/NV21. Dies hängt vom Codec ab, der vom Gerätehersteller implementiert wurde.

Hinweis: Unter macOS werden Kamerageräte von mehreren Anwendungen des Betriebssystems gemeinsam genutzt. Das bedeutet, dass eine andere Anwendung das durch diese Eigenschaft festgelegte Format überschreiben kann. Anwendungsentwickler sollten berücksichtigen, dass sie Videobilder mit einer anderen Auflösung, einem anderen Pixelformat und einer anderen Bildrate erhalten können als in dieser Eigenschaft beschrieben. Diese Eigenschaft ändert sich nicht, wenn das Format des Geräts durch eine andere Anwendung geändert wird. Das durch diese Eigenschaft beschriebene Format kann durch erneutes Aktivieren des „ QCamera “ wieder auf das Gerät angewendet werden.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void cameraFormatChanged()

Siehe auch „ QCameraDevice::videoFormats “.

colorTemperature : int

Gibt die aktuelle Farbtemperatur zurück, wenn der aktuelle Weißabgleichmodus „ WhiteBalanceManual “ ist. Bei anderen Modi ist der Rückgabewert undefiniert.

Zugriffsfunktionen:

int colorTemperature() const
void setColorTemperature(int colorTemperature)

Benachrichtigungssignal:

void colorTemperatureChanged() const

customFocusPoint : QPointF

Diese Eigenschaft gibt die Position des benutzerdefinierten Fokuspunkts in relativen Rahmenkoordinaten an: QPointF(0,0) verweist auf den oberen linken Eckpunkt des Rahmens, QPointF(0,5,0,5) verweist auf die Mitte des Rahmens.

Sie können überprüfen, ob benutzerdefinierte Fokuspunkte unterstützt werden, indem Sie supportedFeatures() mit dem Flag „Feature.CustomFocusPoint “ abfragen.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void customFocusPointChanged()

[read-only] error : Error

Gibt den Fehlerstatus der Kamera zurück.

Zugriffsfunktionen:

QCamera::Error error() const

Benachrichtigungssignal:

void errorChanged()

Siehe auch „ QCamera::Error “.

[read-only] errorString : QString

Gibt eine für Menschen lesbare Zeichenfolge zurück, die den Fehlerzustand einer Kamera beschreibt.

Zugriffsfunktionen:

QString errorString() const

Benachrichtigungssignal:

void errorChanged()

exposureCompensation : float

Belichtungskorrektur in EV-Einheiten.

Mit der Belichtungskorrektur können Sie die automatisch berechnete Belichtung anpassen.

Zugriffsfunktionen:

float exposureCompensation() const
void setExposureCompensation(float ev)

Benachrichtigungssignal:

void exposureCompensationChanged(float value)

exposureMode : QCamera::ExposureMode

Diese Eigenschaft enthält den aktuell verwendeten Belichtungsmodus.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void exposureModeChanged()

Siehe auch „ QCamera::isExposureModeSupported “.

[read-only] exposureTime : float

Belichtungszeit der Kamera in Sekunden.

Zugriffsfunktionen:

float exposureTime() const

Benachrichtigungssignal:

void exposureTimeChanged(float speed)

Siehe auch minimumExposureTime(), maximumExposureTime() und setManualExposureTime().

flashMode : QCamera::FlashMode

Diese Eigenschaft enthält den aktuell verwendeten Blitzmodus.

Aktiviert einen bestimmten Blitzmodus, sofern die Kamera über einen Blitz verfügt.

Die Zuweisung eines nicht unterstützten Modus zu dieser Eigenschaft hat keine Auswirkung.

Diese Eigenschaft wirkt sich nur aus, wenn Bilder mit QImageCapture

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void flashModeChanged()

Siehe auch „ QCamera::FlashMode “, „ QCamera::isFlashModeSupported “ und „ QCamera::isFlashReady “.

[read-only] flashReady : bool

Zeigt an, ob der Blitz aufgeladen und einsatzbereit ist.

Zugriffsfunktionen:

bool isFlashReady() const[see note below]

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

Notifier-Signal:

void flashReady(bool ready)

focusDistance : float

Diese Eigenschaft legt die Fokusentfernung des Objektivs fest, wenn sich das Kameragerät im manuellen Fokusmodus befindet. Gültige Werte liegen zwischen 0 und 1, wobei 0 die kürzestmögliche Fokusentfernung und 1 die weiteste darstellt. Der am weitesten entfernte Punkt liegt in der Regel im Unendlichen, was jedoch möglicherweise nicht für alle Geräte zutrifft.

Diese Eigenschaft wird nur dann auf das Gerät angewendet, wenn „ focusMode “ auf „ FocusModeManual “ gesetzt ist und „ supportedFeatures “ das Flag „ Feature::FocusDistance “ enthält.

Wenn Sie dieser Eigenschaft einen Wert zuweisen, während „ focusMode “ nicht auf „ QCamera::FocusModeManual “ gesetzt ist, speichert die Eigenschaft den Wert, wirkt sich jedoch erst auf das Gerät aus, sobald „ QCamera::FocusModeManual “ aktiv ist.

Die Zuweisung eines Werts außerhalb des gültigen Bereichs [0, 1] hat keine Auswirkungen auf diese Eigenschaft.

Wenn „ supportedFeatures “ das Flag „ FocusDistance “ nicht enthält, wird jeder Versuch, diese Eigenschaft festzulegen, ignoriert.

Diese Eigenschaft wird von der Kamera nicht aktualisiert, wenn sie sich im Autofokus-Modus befindet.

Der Standardwert ist 1.

Zugriffsfunktionen:

float focusDistance() const
void setFocusDistance(float d)

Benachrichtigungssignal:

void focusDistanceChanged(float)

focusMode : FocusMode

Diese Eigenschaft enthält den aktuellen Fokusmodus der Kamera.

Diese Eigenschaft enthält den Wert, der den Fokusmodus für das Kameragerät steuert. In allen Autofokus-Modi fokussiert das Kameragerät kontinuierlich.

Um zu prüfen, ob das Kameragerät einen bestimmten Fokusmodus unterstützt, übergeben Sie den entsprechenden Wert von „ FocusMode “ als Parameter an die Funktion „ isFocusModeSupported “. Die Funktion gibt „false“ zurück, wenn der Fokusmoduswert nicht unterstützt wird. Die Zuweisung eines nicht unterstützten Modus zu dieser Eigenschaft hat keine Auswirkung.

Wenn Sie die Eigenschaft „focusMode“ auf „ QCamera::FocusModeManual “ setzen, wird der Fokus des Objektivs gemäß „ focusDistance “ arretiert.

Zugriffsfunktionen:

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

Notifier-Signal:

Siehe auch ` isFocusModeSupported()`.

[read-only] focusPoint : QPointF

Gibt den Punkt zurück, auf den das Autofokus-System derzeit fokussiert.

Zugriffsfunktionen:

QPointF focusPoint() const

Benachrichtigungssignal:

void focusPointChanged()

[read-only] isoSensitivity : int

Diese Eigenschaft enthält die ISO-Empfindlichkeit des Sensors.

Beschreibt die derzeit von der Kamera verwendete ISO-Empfindlichkeit.

Zugriffsfunktionen:

int isoSensitivity() const

Benachrichtigungssignal:

void isoSensitivityChanged(int value)

Siehe auch setAutoIsoSensitivity() und setManualIsoSensitivity().

manualExposureTime : float

Stellen Sie die manuelle Belichtungszeit auf seconds

Zugriffsfunktionen:

float manualExposureTime() const
void setManualExposureTime(float seconds)

Benachrichtigungssignal:

void manualExposureTimeChanged(float speed)

manualIsoSensitivity : int

Beschreibt eine manuell eingestellte ISO-Empfindlichkeit

Wird diese Eigenschaft auf -1 (Standardwert) gesetzt, passt die Kamera die ISO-Empfindlichkeit automatisch an.

Zugriffsfunktionen:

int manualIsoSensitivity() const
void setManualIsoSensitivity(int iso)

Benachrichtigungssignal:

void manualIsoSensitivityChanged(int)

[read-only] maximumZoomFactor : float

Gibt den maximalen Zoomfaktor zurück.

Bei Kameras, die kein Zoomen unterstützen, ist dies „ 1.0 “.

Zugriffsfunktionen:

float maximumZoomFactor() const

Benachrichtigungssignal:

void maximumZoomFactorChanged(float)

[read-only] minimumZoomFactor : float

Gibt den minimalen Zoomfaktor zurück.

Bei Kameras, die kein Zoomen unterstützen, ist dies „ 1.0 “.

Zugriffsfunktionen:

float minimumZoomFactor() const

Notifier-Signal:

void minimumZoomFactorChanged(float)

[read-only] supportedFeatures : Features

Gibt die von dieser Kamera unterstützten Funktionen zurück.

Zugriffsfunktionen:

QCamera::Features supportedFeatures() const

Benachrichtigungssignal:

void supportedFeaturesChanged()

Siehe auch „ QCamera::Feature “.

torchMode : QCamera::TorchMode

Diese Eigenschaft speichert den aktuell verwendeten Taschenlampenmodus.

Eine Taschenlampe ist eine kontinuierliche Lichtquelle. Sie kann bei Videoaufnahmen unter schlechten Lichtverhältnissen verwendet werden. Durch das Aktivieren des Taschenlampenmodus wird in der Regel der aktuell eingestellte Blitzmodus außer Kraft gesetzt.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void torchModeChanged()

Siehe auch QCamera::TorchMode, QCamera::isTorchModeSupported und QCamera::flashMode.

whiteBalanceMode : WhiteBalanceMode

Gibt den aktuell verwendeten Weißabgleichmodus zurück.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void whiteBalanceModeChanged() const

zoomFactor : float

Diese Eigenschaft enthält den aktuellen Zoomfaktor.

Ruft den aktuellen Zoomfaktor ab oder legt ihn fest. Die Werte werden auf den Bereich zwischen minimumZoomFactor und maximumZoomFactor begrenzt.

Zugriffsfunktionen:

float zoomFactor() const
void setZoomFactor(float factor)

Benachrichtigungssignal:

void zoomFactorChanged(float)

Dokumentation der Member-Funktionen

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

Erstellen Sie eine QCamera mit einem „ parent “.

Wählt die Standardkamera des Systems aus, wenn mehr als eine Kamera verfügbar ist.

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

Erstellen Sie eine QCamera, die eine Hardware-Kamera verwendet, die sich an der angegebenen Adresse position befindet.

Auf einem Mobiltelefon kann dies beispielsweise dazu verwendet werden, ganz einfach zwischen der Front- und der Rückkamera zu wechseln.

Wenn unter der angegebenen Adresse „ position “ keine Kamera verfügbar ist oder wenn „ position “ den Wert „ QCameraDevice::UnspecifiedPosition “ hat, wird die Standardkamera verwendet.

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

Erstellen Sie eine QCamera anhand einer Kamerabeschreibung unter cameraDevice und parent.

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

Löscht das Kameraobjekt.

QMediaCaptureSession *QCamera::captureSession() const

Gibt die Aufnahmesitzung zurück, mit der diese Kamera verbunden ist, oder einen `nullptr`, falls die Kamera nicht mit einer Aufnahmesitzung verbunden ist.

Verwenden Sie ` QMediaCaptureSession::setCamera()`, um die Kamera mit einer Sitzung zu verbinden.

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

Dieses Signal wird ausgegeben, wenn sich der Fehlerstatus auf „ error “ ändert. Eine Beschreibung des Fehlers wird unter „ errorString “ bereitgestellt.

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

Signal, das ausgegeben wird, wenn sich die Belichtungskorrektur auf „ value “ ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ exposureCompensation “.

float QCamera::exposureTime() const

Gibt die aktuelle Belichtungszeit in Sekunden zurück.

Hinweis: Getter -Funktion für die Eigenschaft „exposureTime“.

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

Signalisiert, dass sich die Belichtungs speed en einer Kamera geändert haben.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ exposureTime “.

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

Signalisiert, dass sich der Status von „flash ready “ geändert hat.

Hinweis: Benachrichtigungssignal für die Eigenschaft „flashReady“.

[signal] void QCamera::focusModeChanged()

Gibt ein Signal aus, wenn sich die Eigenschaft „ focusMode “ ändert.

Hinweis: Notifier -Signal für die Eigenschaft „ focusMode “.

bool QCamera::isActive() const

Gibt „true“ zurück, wenn die Kamera derzeit aktiv ist.

Hinweis: Getter -Funktion für die Eigenschaft „ active “.

bool QCamera::isAvailable() const

Gibt „true“ zurück, wenn die Kamera verwendet werden kann.

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

Gibt „true“ zurück, wenn die Belichtungs mode unterstützt wird.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt „true“ zurück, wenn das Flash- mode “ unterstützt wird.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

[invokable] bool QCamera::isFlashReady() const

Gibt „true“ zurück, wenn der Blitz aufgeladen ist.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

Hinweis: Getter -Funktion für die Eigenschaft „ flashReady “.

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

Gibt „ true “ zurück, wenn die Fokusfunktion „ mode “ von der Kamera unterstützt wird.

Wird „ FocusModeManual “ als unterstützt gemeldet, wird davon ausgegangen, dass auch die Funktion „ Feature::FocusDistance “ unterstützt wird.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt „true“ zurück, wenn die Torch- mode unterstützt wird.

Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML heraus aufgerufen werden. Siehe Q_INVOKABLE.

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

Gibt „true“ zurück, wenn der Weißabgleich- mode us unterstützt wird.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

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

Signal, das ausgegeben wird, wenn sich die Empfindlichkeit auf „ value “ ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft isoSensitivity.

float QCamera::manualExposureTime() const

Gibt die manuelle Belichtungszeit in Sekunden zurück oder -1, wenn die Kamera automatische Belichtungszeiten verwendet.

Hinweis: Getter -Funktion für die Eigenschaft `manualExposureTime`.

Siehe auch „ setManualExposureTime()“.

float QCamera::maximumExposureTime() const

Die maximale Belichtungszeit in Sekunden.

int QCamera::maximumIsoSensitivity() const

Gibt die höchste von der Kamera unterstützte ISO-Empfindlichkeit zurück.

float QCamera::minimumExposureTime() const

Die minimale Belichtungszeit in Sekunden.

int QCamera::minimumIsoSensitivity() const

Gibt die niedrigste von der Kamera unterstützte ISO-Empfindlichkeit zurück.

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

Schaltet die Kamera ein, wenn „ active “ auf „ true “ gesetzt ist, oder aus, wenn sie auf „ false “ gesetzt ist.

Hinweis: Setter -Funktion für die Eigenschaft „ active “.

Siehe auch isActive().

[slot] void QCamera::setAutoExposureTime()

Automatisch berechnete Belichtungszeit verwenden

[slot] void QCamera::setAutoIsoSensitivity()

Automatische Empfindlichkeit aktivieren

void QCamera::setCameraDevice(const QCameraDevice &cameraDevice)

Verbindet das Kameraobjekt mit dem physischen Kameragerät, das durch ` cameraDevice` beschrieben wird. Durch die Verwendung eines standardmäßig erstellten ` QCameraDevice `-Objekts als ` cameraDevice ` wird die Kamera mit dem Standardkameragerät des Systems verbunden.

Beim Wechseln des Kamerageräts werden die Funktionen von ` QCamera` aktualisiert. Zudem werden die Steuerungseigenschaften von ` QCamera` (wie z. B. ` focusMode`, ` flashMode`, ` focusDistance`, ` zoomFactor`) wie folgt aktualisiert:

  • Wird eine Eigenschaft auf dem neuen Gerät unterstützt, wird der Wert dieser Eigenschaft auf das Kameragerät angewendet.
  • Wenn eine Eigenschaft zwar unterstützt wird, sich ihr gültiger Wertebereich jedoch geändert hat, wird die Eigenschaft auf den neuen Wertebereich begrenzt und auf das Kameragerät angewendet.
  • Wenn das neue Kameragerät eine Eigenschaft nicht unterstützt, wird der Eigenschaftswert auf den Standardwert zurückgesetzt, und es werden keine Änderungen am Kameragerät vorgenommen.

Hinweis: Setter -Funktion für die Eigenschaft cameraDevice.

Siehe auch ` cameraDevice()`.

void QCamera::setCameraFormat(const QCameraFormat &format)

Weist die Kamera an, das unter format beschriebene Format zu verwenden. Damit lassen sich eine bestimmte Auflösung und Bildrate für die Aufzeichnung und Bildaufnahme festlegen.

Hinweis: Wenn Sie das FFMPEG-Backend auf einem Android-Zielgerät verwenden und das YUV420P-Format anfordern, erhalten Sie entweder ein vollständig planares 4:2:0-YUV420P-Format oder ein semi-planares NV12/NV21-Format. Dies hängt vom Codec ab, der vom Gerätehersteller implementiert wurde.

Hinweis: Setter -Funktion für die Eigenschaft „ cameraFormat “.

Siehe auch ` cameraFormat()`.

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

Stellt den manuellen Weißabgleich auf „ colorTemperature “ ein. Dies wird verwendet, wenn „ whiteBalanceMode()“ auf „ WhiteBalanceManual “ gesetzt ist. Die Einheit ist Kelvin.

Die Einstellung einer Farbtemperatur wirkt sich nur aus, wenn WhiteBalanceManual unterstützt wird. In diesem Fall wird durch die Einstellung einer Temperatur größer als 0 der Weißabgleichmodus automatisch auf WhiteBalanceManual gesetzt. Durch die Einstellung der Temperatur auf 0 wird der Weißabgleichmodus auf WhiteBalanceAuto zurückgesetzt.

Hinweis: Setter -Funktion für die Eigenschaft „ colorTemperature “.

Siehe auch „ colorTemperature()“.

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

Stellt den Weißabgleich auf „ mode “ ein.

Hinweis: Setter -Funktion für die Eigenschaft „ whiteBalanceMode “.

Siehe auch „ whiteBalanceMode()“.

void QCamera::setZoomFactor(float factor)

Zoomt auf den Zoomfaktor factor mit einer Geschwindigkeit von 1 Faktor pro Sekunde.

Hinweis: Setter -Funktion für die Eigenschaft zoomFactor.

Siehe auch zoomFactor().

[slot] void QCamera::start()

Startet die Kamera.

Entspricht „ setActive(true)“.

Wenn die Kamera aus irgendeinem Grund nicht gestartet werden kann, wird das Signal „ errorOccurred()“ ausgelöst.

[slot] void QCamera::stop()

Hält die Kamera an. Entspricht „ setActive “ (false).

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

Zoomt unter Verwendung von ` rate` auf einen Zoomfaktor von ` factor `.

Der Wert „ rate “ wird in Zweierpotenzen pro Sekunde angegeben. Bei einer Rate von 1 würde es 2 Sekunden dauern, um von einem Zoomfaktor von 1 auf 4 zu gelangen.

Hinweis: Die Verwendung einer bestimmten Rate wird nicht von allen Kameras unterstützt. Falls dies nicht unterstützt wird, erfolgt das Zoomen so schnell wie möglich.

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