QtShellSurface QML Type
Bietet eine einfache Möglichkeit zur Identifizierung und Größenänderung einer Oberfläche. 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()
Detaillierte Beschreibung
Dieser Typ ist Teil der QtShell -Erweiterung und bietet eine Möglichkeit, die Funktionalität einer bestehenden WaylandSurface mit Fenstermanagement-Funktionalität zu erweitern.
Der Typ QtShellSurface enthält die Kernfunktionalität, die benötigt wird, um einen Compositor zu erstellen, der die QtShell Erweiterung unterstützt. Er kann direkt oder über den Typ QtShellChrome verwendet werden, je nachdem, was die Anforderungen des Compositors sind. Der Typ QtShellChrome verfügt über Standardverhaltensweisen und Komfort-APIs für die Arbeit mit QtShellSurface-Objekten.
Dokumentation der Eigenschaften
active : bool
Diese Eigenschaft gibt an, ob die Fläche derzeit als aktiv gilt.
Hinweis: Es gibt keine Einschränkungen in QtShellSurface, die verhindern, dass mehrere Flächen gleichzeitig aktiv sind. Eine solche Logik muss entweder vom Compositor selbst implementiert werden oder durch Verwendung des Typs QtShellChrome, der den Aktivierungsstatus von Flächen automatisch verwaltet.
capabilities : enum
Diese Eigenschaft enthält die Fähigkeiten des Compositors. Standardmäßig sind keine speziellen Fähigkeiten aktiviert.
- QtShellSurface.InteractiveMove Der Client kann mit QWindow::startSystemMove() einen serverseitigen interaktiven Verschiebevorgang auslösen. Der Compositor wird darüber durch das Signal startMove() informiert.
- QtShellSurface.InteractiveResize Der Client kann einen serverseitigen interaktiven Größenänderungsvorgang mit QWindow::startSystemResize() auslösen. Der Compositor wird hierüber durch das Signal startResize() informiert.
frameMarginBottom : int
Dadurch wird der Rand des Fensterrahmens unterhalb der Oberfläche gehalten.
frameMarginLeft : int
Damit wird der Rand des Fensterrahmens auf der linken Seite der Oberfläche gehalten.
frameMarginRight : int
Damit wird der Rand des Fensterrahmens rechts von der Oberfläche gehalten.
frameMarginTop : int
Dadurch wird der Rand des Fensterrahmens über der Oberfläche gehalten.
maximumSize : size [read-only]
Die maximale Größe des Fensters, wenn der Client eine angegeben hat. Andernfalls eine ungültige Größe.
minimumSize : size [read-only]
Die Mindestgröße des Fensters, wenn der Client eine angegeben hat. Andernfalls eine ungültige Größe.
surface : WaylandSurface [read-only]
Diese Eigenschaft enthält die Oberfläche, die mit dieser QtShellSurface verbunden ist.
windowFlags : int [read-only]
Diese Eigenschaft enthält die Fensterflags des QtShellSurface.
windowGeometry : rect [read-only]
Diese Eigenschaft enthält die Fenstergeometrie der Schalenoberfläche.
windowPosition : point
Diese Eigenschaft gibt die Position der Schalenoberfläche relativ zu ihrem Ausgang an.
windowState : int [read-only]
Diese Eigenschaft enthält den Fensterstatus von QtShellSurface.
Hinweis: Wenn requestWindowGeometry() aufgerufen wird, um den Zustand der Oberfläche zu aktualisieren, wird die Eigenschaft windowState erst dann aktualisiert, wenn der Client die Zustandsänderung bestätigt hat.
windowTitle : string [read-only]
Diese Eigenschaft enthält den Fenstertitel des QtShellSurface.
Signal Dokumentation
void startMove()
Der Client hat durch den Aufruf von QWindow::startSystemMove() eine interaktive Verschiebeoperation im Compositor angefordert.
Hinweis: Der entsprechende Handler ist onStartMove.
Siehe auch capabilities.
void startResize(enum edges)
Der Client hat durch den Aufruf von QWindow::startSystemResize() eine interaktive Größenänderung im Compositor angefordert.
Die edges gibt Auskunft darüber, welcher Rand des Fensters bei der Größenänderung verschoben werden soll. Es ist eine Maske aus den folgenden Werten:
- Qt.TopEdge
- Qt.LeftEdge
- Qt.RightEdge
- Qt.BottomEdge
Hinweis: Der entsprechende Handler ist onStartResize.
Siehe auch capabilities.
Dokumentation der Methode
void initialize(QtShell qtShell, WaylandSurface surface, WaylandResource resource)
Initialisiert QtShellSurface und verknüpft es mit den angegebenen qtShell, surface und resource.
void requestWindowGeometry(int windowState, rect windowGeometry)
Fordert eine neue windowState und windowGeometry für die QtShellSurface an. Der Zustand und die Geometrie werden aktualisiert, wenn der Client die Anforderung bestätigt hat (zu diesem Zeitpunkt kann davon ausgegangen werden, dass die Größe des Oberflächenpuffers gegebenenfalls geändert wurde).
void sendClose()
Fordert die Client-Anwendung auf, sich selbst zu schließen.
© 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.