Ejemplo de captura de pantalla
Capturar una pantalla o ventana.
Captura depantalla muestra cómo capturar una pantalla o ventana utilizando QScreenCapture y QWindowCapture. El ejemplo muestra una lista de pantallas y ventanas y muestra una vista previa en vivo del elemento seleccionado utilizando un QMediaCaptureSession y un QVideoWidget. La captura se puede iniciar y detener con un button.

Ejecución del ejemplo
Para ejecutar el ejemplo desde Qt Creatorabra el modo Welcome y seleccione el ejemplo en Examples. Para más información, consulte Qt Creator: Tutorial: Construir y ejecutar.
Estructura de la aplicación
El ejemplo consta de tres clases personalizadas. La interfaz de usuario y toda la funcionalidad de captura de pantalla se implementa en la clase ScreenCapturePreview. Las clases ScreenListModel y WindowListModel sólo sirven como modelos detrás de los dos widgets QListView. La función principal crea un objeto ScreenCapturePreview, que a su vez crea instancias de QScreenCapture y QWindowCapture, y un QMediaCaptureSession y QVideoWidget, además de todos los widgets UI.
Los modelos de pantalla y ventana se rellenan con los valores de retorno de QGuiApplication::screens() y QWindowCapture::capturableWindows(), respectivamente.
Cuando se selecciona un elemento de la lista, se conecta al objeto QScreenCapture con setScreen(), o al objeto QWindowCapture con setWindow(). El objeto de captura se conecta al objeto QMediaCaptureSession con setScreenCapture() y setWindowCapture(), respectivamente. A su vez, la sesión de captura se conecta al objeto QVideoWidget con setVideoOutput(). Así, la salida de la captura se previsualiza en el widget de vídeo situado a la derecha de la interfaz de usuario.
El botón de inicio/parada llama a QScreenCapture::start() y QScreenCapture::stop(), o a QWindowCapture::start() y QWindowCapture::stop().
Un QMessageBox aparece si se emite la señal errorOccurred.
© 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.