QScreenCapture Class▲
- 
					Header: QScreenCapture 
- 
					Since: Qt 6.5 
- 
					CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) 
- 
					qmake: QT += multimedia 
- 
					Inherited By: 
- 
					Instantiated By: qml-qtmultimedia-screencapture.xml 
- 
					Inherits: QObject 
- 
					Inherited By: 
- 
					Group: QScreenCapture is part of multimedia, multimedia_video 
Detailed Description▲
The class captures a screen. It is managed by the QMediaCaptureSession class where the captured screen can be displayed in a video preview object 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();Screen Capture Limitations▲
On Qt 6.5.2 and 6.5.3, the following limitations apply to using QScreenCapture:
- 
							It is only supported with the FFmpeg backend. 
- 
							It is supported on all desktop platforms, except Linux with Wayland compositor, due to Wayland protocol restrictions and limitations. 
- 
							It is not supported on mobile operating systems, except on Android. There, you might run into performance issues as the class is currently implemented via QScreen::grabWindow, which is not optimal for the use case. 
- 
							On Linux, it works with X11, but it has not been tested on embedded. 
- 
							In most cases, we set a screen capture frame rate that equals the screen refresh rate, except on Windows, where the rate might be flexible. Such a frame rate (75/120 FPS) might cause performance issues on weak CPUs if the captured screen is of 4K resolution. 
See Also▲
See also QWindowCapture, QMediaCaptureSession
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.
| Constant | Value | Description | 
|---|---|---|
| QScreenCapture::NoError | 0 | No error | 
| QScreenCapture::InternalError | 1 | Internal screen capturing driver error | 
| QScreenCapture::CapturingNotSupported | 2 | Capturing is not supported | 
| QScreenCapture::CaptureFailed | 4 | Capturing screen failed | 
| QScreenCapture::NotFound | 5 | Selected 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:
- 
							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:
- 
							errorString() const 
Notifier signal:
- 
							void errorChanged() 
screen : QScreen*▲
This property holds the screen for capturing.
Access functions:
- 
							*screen() const 
- 
							void setScreen( *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.
void QScreenCapture::errorOccurred(QScreenCapture::Error error, const QString &errorString)▲
Signals when an error occurs, along with the errorString.
void QScreenCapture::start()▲
Starts screen capture.
void QScreenCapture::stop()▲
Stops screen capture.




