Exemple de capture d'écran
Capturer un écran ou une fenêtre.
L'exemple « Capture d'écran » montre comment capturer un écran ou une fenêtre à l'aide de QScreenCapture et QWindowCapture. L'exemple affiche une liste d'écrans et de fenêtres et présente un aperçu en direct de l'élément sélectionné à l'aide de QMediaCaptureSession et QVideoWidget. La capture peut être lancée et arrêtée à l'aide de button.

Exécution de l’exemple
Vous pouvez exécuter l’exemple à partir de :
- Qt Creator
Ouvrez le mode « Welcome » et sélectionnez l’exemple à l’adresse Examples. Pour plus d’informations, consultez Qt Creator: Tutoriel : Compiler et exécuter.
- Qt Extension for Visual Studio Code
Exécutez la commande « Qt: Open Qt examples » à partir de « Command Palette », puis sélectionnez l’exemple dans la liste. Pour plus d’informations, consultez Qt Extension for Visual Studio Code: Tutoriel : Compiler et exécuter.
Structure de l’application
L'exemple se compose de trois classes personnalisées. L’interface utilisateur et toutes les fonctionnalités de capture d’écran sont implémentées dans la classe `ScreenCapturePreview`. Les classes `ScreenListModel` et `WindowListModel` servent uniquement de modèles derrière les deux widgets ` QListView `. La fonction principale crée un objet `ScreenCapturePreview`, qui à son tour crée des instances de ` QScreenCapture ` et ` QWindowCapture`, ainsi que de ` QMediaCaptureSession ` et ` QVideoWidget`, en plus de tous les widgets de l’interface utilisateur.
Les modèles d’écran et de fenêtre sont renseignés respectivement avec les valeurs renvoyées par les méthodes QGuiApplication::screens() et QWindowCapture::capturableWindows().
Lorsqu’un élément de liste est sélectionné, il est connecté à l’objet ` QScreenCapture ` via ` setScreen()`, ou à l’objet ` QWindowCapture ` via ` setWindow()`. L’objet de capture est connecté à l’objet ` QMediaCaptureSession ` via ` setScreenCapture()` et ` setWindowCapture()`, respectivement. La session de capture est à son tour reliée à l’objet QVideoWidget à l’aide de setVideoOutput(). Ainsi, la sortie de la capture est prévisualisée dans le widget vidéo situé à droite de l’interface utilisateur.
Le bouton de démarrage/arrêt appelle les méthodes QScreenCapture::start() et QScreenCapture::stop(), ou QWindowCapture::start() et QWindowCapture::stop().
Une fenêtre « QMessageBox » s'affiche si le signal « errorOccurred » est émis.
© 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.