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.
Eigenschaft Dokumentation
active : bool |
Diese Eigenschaft gibt an, ob die Oberfläche derzeit als aktiv betrachtet wird.
Hinweis: Es gibt keine Einschränkungen in QtShellSurface, die verhindern, dass mehrere Oberflächen gleichzeitig aktiv sind. Eine solche Logik muss entweder vom Compositor selbst implementiert werden oder durch Verwendung des Typs QtShellChrome, der den Aktivierungsstatus von Oberflä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 |
Dies hält den Fensterrahmenrand unterhalb der Oberfläche.
frameMarginLeft : int |
Hier wird der Rand des Fensterrahmens links von der Oberfläche festgelegt.
frameMarginRight : int |
Hier wird der Rand des Fensterrahmens rechts von der Oberfläche festgehalten.
frameMarginTop : int |
Hier wird der Rand des Fensterrahmens oberhalb der Oberfläche angegeben.
maximumSize : size |
Die maximale Größe des Fensters, wenn der Client eine angegeben hat. Ansonsten eine ungültige Größe.
minimumSize : size |
Die Mindestgröße des Fensters, wenn der Client eine angegeben hat. Andernfalls eine ungültige Größe.
surface : WaylandSurface |
Diese Eigenschaft enthält die Oberfläche, die mit dieser QtShellSurface verbunden ist.
windowFlags : int |
Diese Eigenschaft enthält die Fensterflags des QtShellSurface.
windowGeometry : rect |
Diese Eigenschaft enthält die Fenstergeometrie der Shell-Oberfläche.
windowPosition : point |
Diese Eigenschaft enthält die Position der Shell-Oberfläche relativ zu ihrer Ausgabe.
windowState : int |
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
nicht aktualisiert, bis der Client die Zustandsänderung bestätigt hat.
windowTitle : string |
Diese Eigenschaft enthält den Fenstertitel der 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 einen interaktiven Größenänderungsvorgang im Compositor durch den Aufruf von QWindow::startSystemResize() angefordert.
Die edges liefert Informationen 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 die QtShellSurface und verknüpft sie mit den angegebenen qtShell, surface und resource.
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 bei Bedarf geändert wurde).
void sendClose() |
Fordert die Client-Anwendung auf, sich selbst zu schließen.
© 2025 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.