Auf dieser Seite

QCameraDevice Class

Die Klasse „QCameraDevice“ liefert allgemeine Informationen zu Kamerageräten. Mehr...

Header: #include <QCameraDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
In QML: cameraDevice

Öffentliche Typen

enum Position { UnspecifiedPosition, BackFace, FrontFace }

Eigenschaften

Öffentliche Funktionen

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

Ausführliche Beschreibung

QCameraDevice repräsentiert ein physisches Kameragerät und dessen Eigenschaften.

Mit den Funktionen `availableCameras()` und `defaultCamera()` können Sie ermitteln, welche Kameras auf einem System verfügbar sind. Diese sind in `QtMultimedia::MediaDevices` enthalten.

Die QCameraDevice-Instanz behält ihre Eigenschaften während ihrer gesamten Lebensdauer bei, selbst wenn das entsprechende physische Gerät getrennt oder dessen Einstellungen geändert werden. Um den Überblick über aktualisierte Eigenschaften zu behalten, sollte der Benutzer neue Instanzen von QCameraDevice aus „ QMediaDevices “ laden, sobald die entsprechenden Signale ausgelöst werden.

Dieses Beispiel gibt die Namen aller verfügbaren Kameras aus:

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

Mit einem `QCameraDevice` lässt sich ein ` QCamera` erstellen. Im folgenden Beispiel wird ein ` QCamera ` instanziiert, dessen Kameragerät den Namen ` mycamera` trägt:

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

Sie können `QCameraDevice` auch verwenden, um allgemeine Informationen über ein Kameragerät abzurufen, wie beispielsweise die Beschreibung und die physische Position im System.

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.";

Siehe auch QCamera.

Dokumentation zu Mitgliedstypen

enum QCameraDevice::Position

Diese Enumeration gibt die physische Position der Kamera auf der Systemhardware an.

KonstanteWertBeschreibung
QCameraDevice::UnspecifiedPosition0Die Kameraposition ist nicht festgelegt oder unbekannt.
QCameraDevice::BackFace1Die Kamera befindet sich auf der Rückseite der Systemhardware. Bei einem Mobilgerät bedeutet dies beispielsweise, dass sie sich auf der dem Bildschirm gegenüberliegenden Seite befindet.
QCameraDevice::FrontFace2Die Kamera befindet sich auf der Vorderseite der Systemhardware. Bei einem Mobilgerät bedeutet dies beispielsweise, dass sie sich auf derselben Seite wie der Bildschirm befindet. Frontkameras erzeugen Videobilder, bei denen die Eigenschaft „ QVideoFrame::mirrored “ auf „ true “ gesetzt ist. Das bedeutet, dass die Darstellung dieser Bilder um die vertikale Achse gespiegelt wird, um die Videoausgabe als Spiegelbild anzuzeigen, während bei der Aufzeichnung nur die in „ QVideoFrame::surfaceFormat “ angegebenen Transformationen der Oberfläche berücksichtigt werden.

Siehe auch position().

Dokumentation der Eigenschaften

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

Gibt den Rotationswinkel zurück, der erforderlich ist, um die physische Drehung der Kamera gegenüber ihrer nativen Ausrichtung auszugleichen. Mit anderen Worten: Die Eigenschaft gibt den Winkel im Uhrzeigersinn an, um den das Ausgabebild gedreht werden muss, damit es auf dem Bildschirm des Geräts in seiner nativen Ausrichtung aufrecht steht. Da „ correctionAngle “ relativ zur nativen Ausrichtung ist, ändert sich dieser Wert nicht, wenn die Geräteausrichtung (Hochformat/Querformat) geändert wird. Der Korrekturwinkel kann vor allem auf Android-Geräten ungleich Null sein, wo die native Ausrichtung und die Kameraausrichtung vom Hersteller festgelegt werden.

Beispiel mit 90 Grad \a Korrekturwinkel

Diese Aufzählung wurde in Qt 6.7 eingeführt.

Zugriffsfunktionen:

QtVideo::Rotation correctionAngle() const

[read-only] description : const QString

Gibt die für Menschen lesbare Beschreibung der Kamera zurück.

Verwenden Sie diese Zeichenfolge, um dem Benutzer das Gerät zu präsentieren.

Zugriffsfunktionen:

QString description() const

[read-only] id : const QByteArray

Gibt die Geräte-ID der Kamera zurück

Dies ist eine eindeutige ID zur Identifizierung der Kamera, die möglicherweise nicht für Menschen lesbar ist.

Zugriffsfunktionen:

QByteArray id() const

[read-only] isDefault : const bool

Gibt „true“ zurück, wenn es sich um das Standard-Kameragerät handelt.

Zugriffsfunktionen:

bool isDefault() const

[read-only] position : const Position

Gibt die physische Position der Kamera auf dem Hardwaresystem zurück.

Zugriffsfunktionen:

QCameraDevice::Position position() const

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

Gibt die von der Kamera unterstützten Videoformate zurück.

Zugriffsfunktionen:

QList<QCameraFormat> videoFormats() const

Dokumentation zu den Member-Funktionen

QCameraDevice::QCameraDevice()

Erstellt ein Null-Kameragerät

QCameraDevice::QCameraDevice(const QCameraDevice &other)

Erstellt eine Kopie von „ other “.

[noexcept] QCameraDevice::~QCameraDevice()

Zerstört „ QCameraDevice “.

bool QCameraDevice::isNull() const

Gibt „true“ zurück, wenn diese „ QCameraDevice “ null oder ungültig ist.

QList<QSize> QCameraDevice::photoResolutions() const

Gibt eine Liste der Auflösungen zurück, mit denen die Kamera Standbilder aufnehmen kann.

Siehe auch „ QImageCapture “.

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

Gibt „true“ zurück, wenn diese „ QCameraDevice “ nicht dasselbe Gerät darstellt wie „ other “.

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

Setzt das Objekt „ QCameraDevice “ so, dass es dem Wert „ other “ entspricht.

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

Gibt „true“ zurück, wenn diese Instanz von ` QCameraDevice ` dasselbe Gerät repräsentiert wie ` other`.

Aufgrund des Verhaltens der Eigenschaften in QCameraDevice können zwei Instanzen von QCameraDevice als gleich angesehen werden, auch wenn nicht alle Eigenschaften identisch sind.

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