QScreenCapture Class

The QScreenCapture class is used for capturing a screen. More...

Header: #include <QScreenCapture>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
Since: Qt 6.5
Instantiated By: ScreenCapture
Inherits: QObject

Public Types

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

Properties

Public Functions

QMediaCaptureSession *captureSession() const
QScreenCapture::Error error() const
QString errorString() const
bool isActive() const
QScreen *screen() const
void setScreen(QScreen *screen)

Public Slots

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

Signals

void activeChanged(bool)
void errorChanged()
void errorOccurred(QScreenCapture::Error error, const QString &errorString)
void screenChanged(QScreen *)

Detailed Description

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

 QMediaCaptureSession session;
 QAudioInput audioInput;
 session.setAudioInput(&input);
 QMediaRecorder recorder;
 session.setRecorder(&recorder);
 recorder.setQuality(QMediaRecorder::HighQuality);
 recorder.setOutputLocation(QUrl::fromLocalFile("test.mp3"));
 recorder.record();

Member Type Documentation

enum QScreenCapture::Error

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

ConstantValueDescription
QScreenCapture::NoError0No error
QScreenCapture::InternalError1Internal screen capturing driver error
QScreenCapture::CapturingNotSupported2Capturing is not supported
QScreenCapture::CaptureFailed3Capturing screen failed
QScreenCapture::NotFound4Selected screen 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)

[read-only] error : const Error

This property holds the code of the last error.

Access functions:

QScreenCapture::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()

screen : QScreen*

This property holds the screen for capturing.

Access functions:

QScreen *screen() const
void setScreen(QScreen *screen)

Notifier signal:

void screenChanged(QScreen *)

Member Function Documentation

QMediaCaptureSession *QScreenCapture::captureSession() const

Returns the capture session this QScreenCapture is connected to.

Use QMediaCaptureSession::setScreenCapture() to connect the camera to a session.

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

Signals when an error occurs, along with the errorString.

[slot] void QScreenCapture::start()

Starts screen capture.

[slot] void QScreenCapture::stop()

Stops screen capture.