QtShellChrome QML Type

Bietet Standard-Fenstermanager-Funktionalität für die Verwendung mit der Erweiterung qt-shell. Mehr...

Import Statement: import QtWayland.Compositor.QtShell
Since: Qt 6.3

Eigenschaften

Methoden

Detaillierte Beschreibung

QtShellChrome ist ein Convenience-Typ, der verwendet werden kann, um Windowmanager-Funktionalität für die Interaktion mit Clients über das qt-shell Shell-Erweiterungsprotokoll bereitzustellen.

Bei einem ShellSurfaceItem mit einer zugehörigen QtShellSurface wird das Element automatisch seine Größe an die Oberfläche anpassen. Es wird auch die automatische Handhabung von:

  • Fensterzustände, wie maximiert, minimiert und Vollbild.
  • Fensteraktivierung.
  • Größenänderung des Fensters mit Hilfe von Größenänderungsgriffen (wenn die entsprechenden Eigenschaften eingestellt sind).
  • Neupositionierung des Fensters durch Interaktion mit der Titelleiste (wenn die Eigenschaft titleBar gesetzt ist.)

Die QtShellChrome ist für die Verwendung zusammen mit QtShell und QtShellSurface vorgesehen.

Siehe auch QtShell Compositor.

Eigenschaft Dokumentation

bottomLeftResizeHandle : Item

Diese Eigenschaft enthält das standardmäßige untere linke Größenänderungs-Handle von QtShellChrome. Wenn es gesetzt ist, wird ein DragHandler auf dem Größenänderungs-Handle installiert, das die Größe des Fensters durch gleichmäßiges Verschieben des unteren und linken Randes ändert.

Das Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: blrh
       anchors.bottom: parent.bottom
       anchors.left: parent.left
       height: 5
       width: 5
       color: "white"
   }
   bottomLeftResizeHandle: blrh
}

bottomResizeHandle : Item

Diese Eigenschaft enthält das standardmäßige untere Größenänderungs-Handle von QtShellChrome. Wenn es gesetzt ist, wird ein DragHandler auf dem Größenänderungs-Handle installiert, das die Größe des Fensters durch Verschieben seiner unteren Kante ändert.

Das Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: brh
       anchors.bottom: parent.bottom
       anchors.left: parent.left
       anchors.right: parent.right
       height: 5
       color: "white"
   }
   bottomResizeHandle: brh
}

Hinweis: Sofern keine expliziten Rahmenränder gesetzt sind, wird die Höhe des Handles in den unteren Rahmenrand des Fensters einbezogen.


bottomRightResizeHandle : Item

Diese Eigenschaft enthält das Standard-Größenänderungshandle für die untere rechte Ecke des QtShellChrome. Wenn diese Eigenschaft gesetzt ist, wird ein DragHandler auf dem Größenänderungshandle installiert, das die Größe des Fensters ändert, indem es die untere und rechte Kante zu gleichen Teilen verschiebt.

Der Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: brrh
       anchors.bottom: parent.bottom
       anchors.right: parent.right
       height: 5
       width: 5
       color: "white"
   }
   bottomRightResizeHandle: brrh
}

frameMarginBottom : int

Legt die Größe des unteren Randes von QtShellChrome fest, der für Fensterdekorationen reserviert ist. Standardmäßig entspricht dieser Wert der Höhe von bottomResizeHandle, wenn er gesetzt ist. Andernfalls wird er auf 0 gesetzt.

Hinweis: Wenn Sie diese Eigenschaft explizit festlegen, werden alle Standard-Rahmenränder mit ihren entsprechenden Eigenschaften überschrieben.


frameMarginLeft : int

Legt die Größe des linken Randes von QtShellChrome fest, der für Fensterdekorationen reserviert ist. Standardmäßig entspricht dieser Wert der Breite von leftResizeHandle, wenn er gesetzt ist. Andernfalls wird er auf 0 gesetzt.

Hinweis: Wenn Sie diese Eigenschaft explizit festlegen, werden alle Standard-Rahmenränder mit ihren entsprechenden Eigenschaften überschrieben.


frameMarginRight : int

Legt die Größe des rechten Randes von QtShellChrome fest, der für Fensterdekorationen reserviert ist. Standardmäßig entspricht dieser Wert der Breite von rightResizeHandle, wenn er gesetzt ist. Andernfalls wird er auf 0 gesetzt.

Hinweis: Wenn Sie diese Eigenschaft explizit festlegen, werden alle Standard-Rahmenränder mit ihren entsprechenden Eigenschaften überschrieben.


frameMarginTop : int

Legt die Größe des oberen Randes von QtShellChrome fest, der für Fensterdekorationen reserviert ist. Standardmäßig entspricht dies der Summe der Höhen von leftResizeHandle und titleBar, falls diese gesetzt sind. Andernfalls ist sie 0.

Hinweis: Durch explizites Setzen dieser Eigenschaft werden alle Standard-Rahmenränder mit ihren entsprechenden Eigenschaften überschrieben.


hasDecorations : bool [read-only]

Diese Eigenschaft ist wahr, wenn die Dekorationen von QtShellChrome sichtbar sein sollen, basierend auf dem Fensterstatus und den Fensterflags.


leftResizeHandle : Item

Diese Eigenschaft enthält das standardmäßige linke Größenänderungs-Handle des QtShellChrome. Wenn sie gesetzt ist, wird ein DragHandler auf dem Größenänderungs-Handle installiert, das die Größe des Fensters durch Verschieben seines linken Randes ändert.

Das Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: lrh
       anchors.left: parent.left
       anchors.top: parent.top
       anchors.bottom: parent.bottom
       width: 5
       color: "white"
   }
   leftResizeHandle: lrh
}

Hinweis: Sofern keine expliziten Rahmenränder gesetzt sind, wird die Breite des Handles in den linken Rahmenrand des Fensters einbezogen.


maximizedRect : rect

Diese Eigenschaft enthält den Bereich von WaylandOutput, der vom Fenster ausgefüllt werden kann, wenn es sich im maximierten Zustand befindet. Standardmäßig füllt das Fenster die gesamte Geometrie von WaylandOutput aus, wenn es maximiert ist. Eine Änderung dieser Eigenschaft kann zum Beispiel dann sinnvoll sein, wenn der Compositor über andere System-UI verfügt, die nicht durch maximierte Anwendungen verdeckt werden soll, wie zum Beispiel eine Taskleiste.


rightResizeHandle : Item

Diese Eigenschaft enthält das standardmäßige rechte Größenänderungs-Handle des QtShellChrome. Wenn es gesetzt ist, wird ein DragHandler auf dem Größenänderungs-Handle installiert, das die Größe des Fensters durch Verschieben seines rechten Randes ändert.

Das Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: rrh
       anchors.right: parent.right
       anchors.top: parent.top
       anchors.bottom: parent.bottom
       width: 5
       color: "white"
   }
   rightResizeHandle: rrh
}

Hinweis: Sofern keine expliziten Rahmenränder gesetzt sind, wird die Breite des Handles in den rechten Rahmenrand des Fensters einbezogen.


shellSurfaceItem : ShellSurfaceItem

Diese Eigenschaft enthält das Shell-Oberflächenelement, das mit dieser QtShellChrome verbunden ist. Sie verwaltet ihrerseits die shellSurface dieses Elements. Es wird erwartet, dass der shellSurface des Elements vom Typ QtShellSurface ist.

QtShellChrome {
   id: chrome
   ShellSurfaceItem {
       id: sfi
       anchors.fill: parent
       moveItem: chrome
   }
   shellSurfaceItem: sfi
}

titleBar : Item

Diese Eigenschaft enthält das Standard-Titelleistenelement des QtShellChrome. Wenn es gesetzt ist, wird ein DragHandler auf der Titelleiste installiert, das das Fenster bei Benutzerinteraktion verschiebt. Darüber hinaus wird das Fenster automatisch aktiviert, wenn die Titelleiste angeklickt wird.

Die Titelleiste wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: tb
       anchors.top: parent.top
       anchors.right: parent.right
       anchors.left: parent.left
       height: 50
       color: "black"

       Text {
           color: "white"
           anchors.centerIn: parent
           text: shellSurfaceItem.shellSurface.windowTitle
           font.pixelSize: 25
       }
   }
   titleBar: tb
}

Hinweis: Sofern keine expliziten Rahmenränder gesetzt sind, wird die Höhe der Titelleiste in den oberen Rahmenrand des Fensters einbezogen.


topLeftResizeHandle : Item

Diese Eigenschaft enthält das standardmäßige linke obere Größenänderungs-Handle von QtShellChrome. Wenn es gesetzt ist, wird ein DragHandler auf dem Größenänderungs-Handle installiert, das die Größe des Fensters ändert, indem es den oberen und linken Rand zu gleichen Teilen verschiebt.

Das Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: tlrh
       anchors.top: parent.top
       anchors.left: parent.left
       height: 5
       width: 5
       color: "white"
   }
   topLeftResizeHandle: tlrh
}

topResizeHandle : Item

Diese Eigenschaft enthält das standardmäßige obere Größenänderungs-Handle von QtShellChrome. Wenn sie gesetzt ist, wird ein DragHandler auf dem Größenänderungs-Handle installiert, das die Größe des Fensters durch Verschieben seiner oberen Kante ändert.

Das Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: trh
       anchors.top: parent.top
       anchors.left: parent.left
       anchors.right: parent.right
       height: 5
       color: "white"
   }
   topResizeHandle: trh
}

Hinweis: Wenn keine expliziten Rahmenränder gesetzt sind, wird die Höhe des Handles in den oberen Rahmenrand des Fensters einbezogen.


topRightResizeHandle : Item

Diese Eigenschaft enthält das Standard-Größenänderungshandle für die obere rechte Ecke des QtShellChrome. Wenn sie gesetzt ist, wird ein DragHandler auf dem Größenänderungshandle installiert, das die Größe des Fensters durch gleichmäßiges Verschieben der oberen und rechten Ecke ändert.

Das Handle wird automatisch ein- und ausgeblendet, abhängig von den Fensterflags und dem Vollbildstatus des Fensters.

QtShellChrome {
   Rectangle {
       id: trrh
       anchors.top: parent.top
       anchors.right: parent.right
       height: 5
       width: 5
       color: "white"
   }
   topRightResizeHandle: trrh
}

windowFlags : int [read-only]

Diese Eigenschaft enthält die Fensterflags von QtShellChrome. Sie entsprechen der Eigenschaft windowFlags des zugehörigen QtShellSurface, außer wenn diese gleich Qt.Window ist. In diesem Fall wird stattdessen ein Satz von Standard-Fensterflags verwendet. Die Standard-Fenster-Flags sind Qt.Window, Qt.WindowMaximizeButtonHint, Qt.WindowMinimizeButtonHint und Qt.WindowCloseButtonHint.


windowState : int [read-only]

Diese Eigenschaft enthält den Fensterstatus der Shell-Oberfläche. Sie wird sofort aktualisiert, wenn der Fensterstatus auf der Compositor-Seite angefordert wird, bevor dies vom Client bestätigt wurde. Daher kann sie sich kurzzeitig von der Eigenschaft windowState der Shell-Oberfläche unterscheiden, die aktualisiert wird, wenn der Client die Anforderung bestätigt hat.


Dokumentation der Methode

void activate()

Manuelles Aktivieren dieses Fensters. Dadurch wird das Fenster auch aufgezogen.

Siehe auch raise().


void deactivate()

Deaktiviert dieses Fenster manuell. Wenn das Fenster aktiv war, wird stattdessen das nächste Fenster im Stapel aktiviert.


void lower()

Dieses Fenster absenken, so dass es sich unter anderen Fenstern stapelt (es sei denn, die Fensterflags der anderen Fenster verbieten dies).


void raise()

Dieses Fenster anheben, so dass es sich über anderen Fenstern stapelt (außer, wenn die Flags der anderen Fenster dies verbieten).


void toggleFullScreen()

Schaltet zwischen dem Vollbild- und dem normalen Fensterzustand um. Diese Methode löscht auch den minimierten oder maximierten Fensterstatus, falls einer von beiden gesetzt ist.


void toggleMaximized()

Schaltet zwischen maximiertem und normalem Zustand um. Diese Methode löscht auch den Status des minimierten Fensters, wenn er gesetzt ist.


void toggleMinimized()

Schaltet zwischen dem minimierten und dem normalen Zustand hin und her. Diese Methode löscht auch den Status des maximierten Fensters, wenn er gesetzt ist.


© 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.