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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QCameraDevice::UnspecifiedPosition | 0 | Die Kameraposition ist nicht festgelegt oder unbekannt. |
QCameraDevice::BackFace | 1 | Die 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::FrontFace | 2 | Die 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.

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.