QWindowCapture Class

This class is used for capturing a window. More...

Header: #include <QWindowCapture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Since: Qt 6.6
In QML: WindowCapture
Inherits: QObject

Public Types

enum Error { NoError, InternalError, CapturingNotSupported, CaptureFailed, NotFound }

Properties

Public Functions

QWindowCapture(QObject *parent = nullptr)
virtual ~QWindowCapture() override
QWindowCapture::Error error() const
QString errorString() const
bool isActive() const
void setWindow(QCapturableWindow window)
QCapturableWindow window() const

Public Slots

void setActive(bool active)
void start()
void stop()

Signals

void activeChanged(bool)
void errorChanged()
void errorOccurred(QWindowCapture::Error error, const QString &errorString)
void windowChanged(QCapturableWindow window)

Static Public Members

QList<QCapturableWindow> capturableWindows()

Detailed Description

The class captures a window. It is managed by the QMediaCaptureSession class where the captured window can be displayed in a video preview object or recorded to a file.

Window Capture Limitations

The following limitations apply to using QWindowCapture:

  • QWindowCapture is only supported with the FFmpeg backend.

See also QMediaCaptureSession and QCapturableWindow.

Member Type Documentation

enum QWindowCapture::Error

Enumerates error codes that can be signaled by the QWindowCapture class. errorString() provides detailed information about the error cause.

ConstantValueDescription
QWindowCapture::NoError0No error
QWindowCapture::InternalError1Internal window capturing driver error
QWindowCapture::CapturingNotSupported2Window capturing is not supported
QWindowCapture::CaptureFailed4Capturing window failed
QWindowCapture::NotFound5Selected window not found

Property Documentation

active : bool

This property holds whether the capturing is currently active.

Access functions:

bool isActive() const
void setActive(bool active)

Notifier signal:

void activeChanged(bool)

See also start() and stop().

[read-only] error : const Error

This property holds the code of the last error.

Access functions:

QWindowCapture::Error error() const

Notifier signal:

void errorChanged()

[read-only] errorString : const QString

This property holds a human readable string describing the cause of error.

Access functions:

QString errorString() const

Notifier signal:

void errorChanged()

window : QCapturableWindow

This property holds the window for capturing.

Access functions:

QCapturableWindow window() const
void setWindow(QCapturableWindow window)

Notifier signal:

void windowChanged(QCapturableWindow window)

See also QWindowCapture::capturableWindows.

Member Function Documentation

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

Constructs a new QWindowCapture object with parent.

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

Destroys the object.

[static invokable] QList<QCapturableWindow> QWindowCapture::capturableWindows()

Returns a list of QCapturableWindow objects that is available for capturing.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

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

Signals when an error occurs, along with the errorString.

[slot] void QWindowCapture::start()

Starts capturing the window.

This is equivalent to setting the active property to true.

[slot] void QWindowCapture::stop()

Stops capturing.

This is equivalent to setting the active property to false.