WindowCapture QML Type
Dieser Typ wird zum Erfassen eines Fensters verwendet. Mehr...
| Import Statement: | import QtMultimedia |
| Since: | Qt 6.6 |
| In C++: | QWindowCapture |
Eigenschaften
- active : bool
- error : enumeration
- errorString : string
- maximumFrameRate : real
(since 6.12) - window : Window
Signale
- errorChanged()
- errorOccurred(int error, string errorString)
Methoden
- list<CapturableWindow> capturableWindows()
- void start()
- void stop()
Ausführliche Beschreibung
WindowCapture erfasst ein Fenster. Die Verwaltung erfolgt über „ CaptureSession “, wo das erfasste Fenster in einem Video-Vorschauobjekt angezeigt oder in eine Datei aufgezeichnet werden kann.
Der folgende Code zeigt eine einfache Aufnahmesitzung, bei der eines der verfügbaren Fenster mit WindowCapture erfasst und in einem „ VideoOutput “ wiedergegeben wird.
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
}
}
}Einschränkungen bei der Fenstererfassung
Für die Verwendung von WindowCapture gelten die folgenden Einschränkungen:
- WindowCapture wird nur mit dem FFmpeg-Backend unterstützt.
- Auf einigen Plattformen werden keine neuen Videobilder ausgegeben, solange der Inhalt des erfassten Fensters unverändert bleibt. Anwendungen sollten sich daher nicht darauf verlassen, einen kontinuierlichen Strom von Bildern mit der angeforderten Bildrate zu erhalten.
Bei der Verwendung von „ QWindowCapture “ auf X11-Systemen gelten die folgenden Einschränkungen:
- Auf Linux-X11-Systemen wird, wenn ein Fenster teilweise außerhalb des sichtbaren Bildschirmbereichs verschoben wird, nur der sichtbare Bereich erfasst. Infolgedessen können die ausgegebenen Videobilder eine geringere Größe als die Geometrie des Fensters haben.
- Fenster, die sich außerhalb des sichtbaren Bildschirmbereichs befinden, können nicht erfasst werden; in diesem Fall wird ein Fehlersignal ausgegeben.
- Das Verhalten minimierter Fenster oder solcher, die sich auf einem unsichtbaren virtuellen Arbeitsbereich befinden, hängt vom Fenstermanager ab. Beispielsweise können solche Fenster unter GNOME erfasst werden, während dies unter WindowMaker oder Xfwm nicht zulässig ist und die Fenstererfassungsinstanz einen Fehler ausgibt.
Siehe auch CaptureSession und CapturableWindow.
Dokumentation zu den Eigenschaften
active : bool
Gibt an, ob die Erfassung derzeit aktiv ist.
Siehe auch start() und stop().
error : enumeration [read-only]
Gibt den Code des letzten Fehlers zurück.
| Konstante | Beschreibung |
|---|---|
WindowCapture.NoError | Kein Fehler |
WindowCapture.InternalError | Interner Fehler des Fenster-Capturing-Treibers |
WindowCapture.CapturingNotSupported | Fenstererfassung wird nicht unterstützt |
WindowCapture.CaptureFailed | Erfassung des Fensters fehlgeschlagen |
WindowCapture.NotFound | Ausgewähltes Fenster nicht gefunden |
errorString : string [read-only]
Gibt eine für Menschen lesbare Zeichenkette zurück, die die Fehlerursache beschreibt.
maximumFrameRate : real [since 6.12]
Die Obergrenze für die Bildrate bei der Fenstererfassung.
Dieser Wert kann festgelegt werden, um die standardmäßig verwendete Bildrate für die Fenstererfassung – die sich beispielsweise nach der Bildwiederholfrequenz des Bildschirms richtet – zu überschreiben; dies gilt jedoch nur als Obergrenze, da die Fenstererfassung Bilder mit variabler Bildrate erzeugt. Es wird nicht empfohlen, diesen Wert höher als die Bildwiederholfrequenz des Bildschirms einzustellen, da dies zu Fehlern führen kann.
Bei -1 wird ein plattformabhängiger Standardwert verwendet.
Änderungen an dieser Eigenschaft werden erst wirksam, wenn „ WindowCapture “ das nächste Mal aktiv wird.
Diese Eigenschaft wurde in Qt 6.12 eingeführt.
window : Window
Beschreibt das Fenster für die Erfassung.
Wird diese Eigenschaft auf ein ungültiges Fenster eines aktiven „ WindowCapture “ gesetzt, wird dieses inaktiv und es wird ein Fehler ausgegeben.
Siehe auch „ capturableWindows “.
Signal-Dokumentation
errorChanged()
Dieses Signal wird ausgelöst, wenn die Eigenschaften „ error “ oder „ errorString “ geändert werden.
Dieses Signal wird nicht ausgelöst, wenn mehrere identische Fehler auftreten. Um solche Fehler zu verfolgen, verwenden Sie das Signal „ errorOccurred “.
Hinweis: Der entsprechende Handler lautet „ onErrorChanged “.
errorOccurred(int error, string errorString)
Gibt bei Auftreten eines „ error “ eine Meldung aus, zusammen mit dem „ errorString “.
Informationen zu den möglichen Werten für den Parameter „error“ finden Sie in der Aufzählungstabelle unter error.
Hinweis: Der entsprechende Handler ist „ onErrorOccurred “.
Siehe auch „ error “.
Methodendokumentation
list<CapturableWindow> capturableWindows()
Gibt eine Liste von „ CapturableWindow “-Objekten zurück, die derzeit für die Aufzeichnung verfügbar sind.
Hinweis: Unter macOS löst der Aufruf dieser Methode den Berechtigungsdialog „Bildschirmaufzeichnung“ aus. Wenn die Berechtigungen noch nicht erteilt wurden, gibt diese Methode eine leere Liste zurück. Durch mehrmaliges Aufrufen wird dieser Dialog in den Vordergrund geholt.
void start()
Beginnt mit der Erfassung von „ window “.
Dies entspricht der Einstellung der Eigenschaft „ active “ auf „ true “.
void stop()
Beendet die Aufzeichnung.
Dies entspricht der Einstellung der Eigenschaft „ active “ auf „ 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.