QtShellSurface QML Type
Bietet eine einfache Möglichkeit, eine Fläche zu identifizieren und ihre Größe anzupassen. Mehr...
| Import Statement: | import QtWayland.Compositor.QtShell |
| Since: | Qt 6.3 |
Eigenschaften
- active : bool
- capabilities : enum
- frameMarginBottom : int
- frameMarginLeft : int
- frameMarginRight : int
- frameMarginTop : int
- maximumSize : size
- minimumSize : size
- surface : WaylandSurface
- windowFlags : int
- windowGeometry : rect
- windowPosition : point
- windowState : int
- windowTitle : string
Signale
- void startMove()
- void startResize(enum edges)
Methoden
- void initialize(QtShell qtShell, WaylandSurface surface, WaylandResource resource)
- void requestWindowGeometry(int windowState, rect windowGeometry)
- void sendClose()
Ausführliche Beschreibung
Dieser Typ ist Teil der Erweiterung „ QtShell “ und bietet die Möglichkeit, die Funktionalität einer bestehenden „ WaylandSurface “ um Funktionen zur Fensterverwaltung zu erweitern.
Der Typ „QtShellSurface“ enthält die Kernfunktionalität, die zum Erstellen eines Compositors erforderlich ist, der die Erweiterung „ QtShell “ unterstützt. Er kann je nach den Anforderungen des Compositors direkt oder über den Typ „ QtShellChrome “ verwendet werden. Der Typ „ QtShellChrome “ verfügt über Standardverhalten und Komfort-APIs für die Arbeit mit „QtShellSurface“-Objekten.
Dokumentation zu den Eigenschaften
active : bool
Diese Eigenschaft gibt an, ob die Oberfläche derzeit als aktiv gilt.
Hinweis: In „ QtShellSurface “gibt es keine Einschränkungen, die verhindern, dass mehrere Oberflächen gleichzeitig aktiv sind. Eine solche Logik muss entweder vom Compositor selbst implementiert werden oder durch die Verwendung des Typs „ QtShellChrome “, der den Aktivierungsstatus der Oberflächen automatisch verwaltet.
capabilities : enum
Diese Eigenschaft enthält die Funktionen des Compositors. Standardmäßig sind keine speziellen Funktionen aktiviert.
- QtShellSurface.InteractiveMove Der Client kann mithilfe von ` QWindow::startSystemMove()` einen serverseitigen interaktiven Verschiebungsvorgang auslösen. Der Compositor wird darüber über das Signal ` startMove()` benachrichtigt.
- QtShellSurface.InteractiveResize Der Client kann mithilfe von ` QWindow::startSystemResize()` einen serverseitigen interaktiven Größenänderungsvorgang auslösen. Der Compositor wird darüber über das Signal ` startResize()` benachrichtigt.
frameMarginBottom : int
Dadurch bleibt der Rand des Fensterrahmens unterhalb der Oberfläche.
frameMarginLeft : int
Dadurch wird der Rand des Fensterrahmens links von der Oberfläche beibehalten.
frameMarginRight : int
Dadurch wird der Rand des Fensterrahmens rechts von der Oberfläche beibehalten.
frameMarginTop : int
Dadurch wird der Rand des Fensterrahmens über der Oberfläche gehalten.
maximumSize : size [read-only]
Die maximale Größe des Fensters, sofern der Client eine solche angegeben hat. Andernfalls eine ungültige Größe.
minimumSize : size [read-only]
Die Mindestgröße des Fensters, sofern der Client eine solche angegeben hat. Andernfalls eine ungültige Größe.
surface : WaylandSurface [read-only]
Diese Eigenschaft enthält die Oberfläche, die mit diesem QtShellSurface verknüpft ist.
windowFlags : int [read-only]
Diese Eigenschaft enthält die Fensterflags des „ QtShellSurface “.
windowGeometry : rect [read-only]
Diese Eigenschaft enthält die Fenstergeometrie der Hüllenfläche.
windowPosition : point
Diese Eigenschaft gibt die Position der Hüllenoberfläche relativ zu ihrer Ausgabe an.
windowState : int [read-only]
Diese Eigenschaft enthält den Fensterstatus des QtShellSurface.
Hinweis: Wenn „ requestWindowGeometry()“ aufgerufen wird, um den Status der Oberfläche zu aktualisieren, wird die Eigenschaft „ windowState “ erst aktualisiert, wenn der Client die Statusänderung bestätigt hat.
windowTitle : string [read-only]
Diese Eigenschaft enthält den Fenstertitel des „ QtShellSurface “.
Signal-Dokumentation
void startMove()
Der Client hat eine interaktive Verschiebungsoperation im Compositor angefordert, indem er die Funktion „ QWindow::startSystemMove()“ aufgerufen hat.
Hinweis: Der entsprechende Handler lautet onStartMove.
Siehe auch „ capabilities “.
void startResize(enum edges)
Der Client hat eine interaktive Größenänderung im Compositor angefordert, indem er die Funktion „ QWindow::startSystemResize()“ aufgerufen hat.
Die ` edges ` liefert Informationen darüber, welche Kante des Fensters während der Größenänderung verschoben werden soll. Es handelt sich um eine Maske mit den folgenden Werten:
- Qt.TopEdge
- Qt.LeftEdge
- Qt.RightEdge
- Qt.BottomEdge
Hinweis: Der entsprechende Handler ist „ onStartResize “.
Siehe auch capabilities.
Methodendokumentation
void initialize(QtShell qtShell, WaylandSurface surface, WaylandResource resource)
Initialisiert die „ QtShellSurface “ und ordnet ihr die angegebenen Werte „ qtShell “, „ surface “ und „ resource “ zu.
void requestWindowGeometry(int windowState, rect windowGeometry)
Fordert einen neuen „ windowState “ und „ windowGeometry “ für die „ QtShellSurface “ an. Der Status und die Geometrie werden aktualisiert, sobald der Client die Anforderung bestätigt hat (zu diesem Zeitpunkt kann man davon ausgehen, dass die Größe des Puffers der Oberfläche bei Bedarf angepasst wurde).
void sendClose()
Fordert die Client-Anwendung auf, sich selbst zu beenden.
© 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.