WindowCapture QML Type
Ce type sert à capturer une fenêtre. En savoir plus...
| Import Statement: | import QtMultimedia |
| Since: | Qt 6.6 |
| In C++: | QWindowCapture |
Propriétés
- active : bool
- error : enumeration
- errorString : string
- maximumFrameRate : real
(since 6.12) - window : Window
Signaux
- errorChanged()
- errorOccurred(int error, string errorString)
Méthodes
- list<CapturableWindow> capturableWindows()
- void start()
- void stop()
Description détaillée
WindowCapture permet de capturer une fenêtre. Cette fonction est gérée par CaptureSession, où la fenêtre capturée peut être affichée dans un objet de prévisualisation vidéo ou enregistrée dans un fichier.
Le code ci-dessous illustre une session de capture simple qui capture l'une des fenêtres disponibles à l'aide de WindowCapture et la lit dans un objet « VideoOutput ».
CaptureSession {
id: captureSession
windowCapture: WindowCapture {
id: capture
}
videoOutput: VideoOutput {
id: videoOutput
}
Component.onCompleted: {
let windows = capture.capturableWindows()
if (windows.length > 0) {
capture.window = windows[0]
capture.active = true
}
}
}Limitations de WindowCapture
Les limitations suivantes s'appliquent à l'utilisation de WindowCapture :
- WindowCapture n’est pris en charge qu’avec le backend FFmpeg.
- Sur certaines plateformes, aucune nouvelle image vidéo n’est émise tant que le contenu de la fenêtre capturée reste inchangé. Les applications ne doivent donc pas compter sur la réception d’un flux continu d’images à la fréquence d’images demandée.
Les limitations suivantes s’appliquent lors de l’utilisation d’ QWindowCapture sur les systèmes X11 :
- Sur les systèmes Linux X11, lorsqu’une fenêtre est déplacée partiellement en dehors de la zone visible de l’écran, seule la région visible est capturée. Par conséquent, les images vidéo émises peuvent avoir une taille inférieure à la géométrie de la fenêtre.
- Les fenêtres situées en dehors de la zone visible de l’écran ne peuvent pas être capturées ; un signal d’erreur est alors émis.
- Le comportement des fenêtres minimisées ou situées sur un espace de travail virtuel invisible dépend du gestionnaire de fenêtres. Par exemple, ces fenêtres peuvent être capturées sous GNOME, tandis que sous WindowMaker ou Xfwm, cette capture n'est pas autorisée et l'instance de capture de fenêtre génère une erreur.
Voir également CaptureSession et CapturableWindow.
Documentation sur les propriétés
active : bool
Indique si la capture est actuellement active.
Voir également start() et stop().
error : enumeration [read-only]
Renvoie le code de la dernière erreur.
| Constante | Description |
|---|---|
WindowCapture.NoError | Aucune erreur |
WindowCapture.InternalError | Erreur interne du pilote de capture de fenêtre |
WindowCapture.CapturingNotSupported | La capture de fenêtre n'est pas prise en charge |
WindowCapture.CaptureFailed | Échec de la capture de la fenêtre |
WindowCapture.NotFound | Fenêtre sélectionnée introuvable |
errorString : string [read-only]
Renvoie une chaîne de caractères lisible décrivant la cause de l'erreur.
maximumFrameRate : real [since 6.12]
Limite supérieure de la fréquence d'images de capture de fenêtre.
Ce paramètre peut être défini pour remplacer la fréquence d'images de capture utilisée par défaut en fonction, par exemple, de la fréquence de rafraîchissement de l'écran, mais uniquement en tant que limite supérieure, car la capture de fenêtre produit des images à une fréquence variable. Il n'est pas recommandé de définir cette valeur à un niveau supérieur à la fréquence de rafraîchissement de l'écran, car cela peut entraîner des erreurs.
Si la valeur est -1, une valeur par défaut propre à la plate-forme est utilisée.
Toute modification apportée à cette propriété est appliquée dès la prochaine activation de l'WindowCapture.
Cette propriété a été introduite dans Qt 6.12.
window : Window
Décrit la fenêtre à capturer.
Si vous attribuez à cette propriété une fenêtre non valide sur une instance active de « WindowCapture », celle-ci deviendra inactive et générera une erreur.
Voir aussi capturableWindows.
Documentation sur les signaux
errorChanged()
Ce signal est émis lorsque les propriétés ` error ` ou ` errorString ` sont modifiées.
Ce signal n'est pas émis lorsque plusieurs erreurs identiques sont levées. Pour suivre ces erreurs, utilisez le signal errorOccurred.
Remarque : le gestionnaire correspondant est onErrorChanged.
errorOccurred(int error, string errorString)
Signale qu’une error s’est produite, en indiquant l’ errorString.
Pour le paramètre d'erreur, consultez le tableau d'énumération disponible à l'adresse error afin de connaître les valeurs pouvant être transmises.
Remarque : le gestionnaire correspondant est onErrorOccurred.
Voir également error.
Documentation de la méthode
list<CapturableWindow> capturableWindows()
Renvoie une liste d'objets ` CapturableWindow ` actuellement disponibles pour l'enregistrement.
Remarque : sous macOS, l'appel de cette méthode déclenche la boîte de dialogue de demande d'autorisation « Enregistrement d'écran ». Si les autorisations n'ont pas encore été accordées, cette méthode renvoie une liste vide. L'appeler plusieurs fois affiche cette boîte de dialogue au premier plan.
void start()
Commence à enregistrer l'window.
Cela revient à définir la propriété « active » sur « true ».
void stop()
Arrête l'enregistrement.
Cela revient à définir la propriété « active » sur « false ».
© 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.