QCameraDevice Class

The QCameraDevice class provides general information about camera devices. More...

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

Public Types

enum Position { UnspecifiedPosition, BackFace, FrontFace }

Public Functions

QCameraDevice(const QCameraDevice &other)
QCameraDevice()
QCameraDevice &operator=(const QCameraDevice &other)
~QCameraDevice()
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
bool operator==(const QCameraDevice &other) const

Detailed Description

QCameraDevice represents a physical camera device and its properties.

You can discover what cameras are available on a system using the availableCameras() and defaultCamera() functions. These are contained within QtMultimedia::MediaDevices.

This example prints the name of all available cameras:

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

A QCameraDevice can be used to construct a QCamera. The following example instantiates a QCamera whose camera device is named mycamera:

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

You can also use QCameraDevice to get general information about a camera device such as description, physical position on the system, or camera sensor orientation.

QCamera myCamera;
QCameraDevice cameraDevice = camera->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.";

qDebug() << "The camera sensor orientation is " << cameraDevice.orientation() << " degrees.";

See also QCamera.

Member Type Documentation

enum QCameraDevice::Position

This enum specifies the physical position of the camera on the system hardware.

ConstantValueDescription
QCameraDevice::UnspecifiedPosition0The camera position is unspecified or unknown.
QCameraDevice::BackFace1The camera is on the back face of the system hardware. For example on a mobile device, it means it is on the opposite side to that of the screen.
QCameraDevice::FrontFace2The camera is on the front face of the system hardware. For example on a mobile device, it means it is on the same side as that of the screen.

See also position().

Member Function Documentation

QCameraDevice::QCameraDevice(const QCameraDevice &other)

Constructs a copy of other.

QCameraDevice::QCameraDevice()

Constructs a null camera device

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

Sets the QCameraDevice object to be equal to other.

QCameraDevice::~QCameraDevice()

Destroys the QCameraDevice.

QString QCameraDevice::description() const

Returns the human-readable description of the camera.

Use this string to present the device to the user.

Note: Getter function for property description.

QByteArray QCameraDevice::id() const

Returns the device id of the camera

This is a unique ID to identify the camera and may not be human-readable.

Note: Getter function for property id.

bool QCameraDevice::isDefault() const

Returns true if this is the default camera device.

Note: Getter function for property isDefault.

bool QCameraDevice::isNull() const

Returns true if this QCameraDevice is null or invalid.

QList<QSize> QCameraDevice::photoResolutions() const

Returns a list of resolutions that the camera can use to capture still images.

See also QImageCapture.

QCameraDevice::Position QCameraDevice::position() const

Returns the physical position of the camera on the hardware system.

Note: Getter function for property position.

QList<QCameraFormat> QCameraDevice::videoFormats() const

Returns the video formats supported by the camera.

Note: Getter function for property videoFormats.

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

Returns true if this QCameraDevice is different from other.

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

Returns true if this QCameraDevice is equal to other.

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