Beispiel für eine Bildschirmaufnahme
Erfassen eines Bildschirms oder Fensters.
Das Beispiel „Bildschirmaufnahme“ veranschaulicht, wie man mithilfe von QScreenCapture und QWindowCapture einen Bildschirm oder ein Fenster aufnimmt. Das Beispiel zeigt eine Liste von Bildschirmen und Fenstern und stellt mithilfe von QMediaCaptureSession und QVideoWidget eine Live-Vorschau des ausgewählten Elements dar. Die Aufnahme kann mit button gestartet und gestoppt werden.

Ausführen des Beispiels
Sie können das Beispiel wie folgt ausführen:
- Qt Creator
Öffnen Sie den Modus „ Welcome “ und wählen Sie das Beispiel unter „ Examples “ aus. Weitere Informationen finden Sie unter Qt Creator: Tutorial: Erstellen und Ausführen.
- Qt Extension for Visual Studio Code
Führen Sie den Befehl „ Qt: Open Qt examples “ aus dem Verzeichnis „ Command Palette “ aus und wählen Sie das Beispiel aus der Liste aus. Weitere Informationen finden Sie unter Qt Extension for Visual Studio Code: Tutorial: Erstellen und Ausführen.
Anwendungsstruktur
Das Beispiel besteht aus drei benutzerdefinierten Klassen. Die Benutzeroberfläche und die gesamte Bildschirmaufnahmefunktionalität sind in der Klasse „ScreenCapturePreview“ implementiert. Die Klassen „ScreenListModel“ und „WindowListModel“ dienen lediglich als Modelle hinter den beiden Widgets „ QListView “. Die Hauptfunktion erstellt ein „ScreenCapturePreview“-Objekt, das wiederum Instanzen von „ QScreenCapture “ und „ QWindowCapture “ sowie von „ QMediaCaptureSession “ und „ QVideoWidget “ erstellt, zusätzlich zu allen UI-Widgets.
Die Bildschirm- und Fenstermodelle werden mit den Rückgabewerten von „ QGuiApplication::screens()“ bzw. „ QWindowCapture::capturableWindows()“ gefüllt.
Wenn ein Listenelement ausgewählt wird, wird es über ` setScreen()` mit dem ` QScreenCapture `-Objekt oder über ` setWindow()` mit dem ` QWindowCapture `-Objekt verbunden. Das Capture-Objekt wird über ` setScreenCapture()` bzw. ` setWindowCapture()` mit dem ` QMediaCaptureSession `-Objekt verbunden. Die Aufnahmesitzung wird wiederum über „ setVideoOutput()“ mit dem Objekt „ QVideoWidget “ verbunden. Somit wird die Aufnahme im Video-Widget auf der rechten Seite der Benutzeroberfläche in der Vorschau angezeigt.
Die Start-/Stopp-Schaltfläche ruft „ QScreenCapture::start()“ und „ QScreenCapture::stop()“ bzw. „ QWindowCapture::start()“ und „ QWindowCapture::stop()“ auf.
Ein „ QMessageBox “ wird angezeigt, wenn das Signal „ errorOccurred “ ausgelöst wird.
© 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.