DelegateStyle QML Type
Legt das Erscheinungsbild eines Elements innerhalb eines Steuerelements fest. Mehr...
| Import Statement: | import Qt.labs.StyleKit |
| Inherited By: | |
| Status: | Technology preview |
Dieser Typ befindet sich in der Technology Preview und kann sich noch ändern.
Eigenschaften
- alignment : Qt::Alignment
- border : BorderStyle
- bottomLeftRadius : real
- bottomMargin : real
- bottomRightRadius : real
- clip : bool
- color : color
- data : QObject
- delegate : Component
- fillHeight : bool
- fillWidth : bool
- gradient : Gradient
- height : real
- image : ImageStyle
- leftMargin : real
- margins : real
- minimumHeight : real
- minimumWidth : real
- opacity : real
- radius : real
- rightMargin : real
- rotation : real
- scale : real
- shadow : ShadowStyle
- topLeftRadius : real
- topMargin : real
- topRightRadius : real
- visible : bool
- width : real
Ausführliche Beschreibung
DelegateStyle beschreibt das visuelle Erscheinungsbild eines visuellen Elements innerhalb eines „ ControlStyle “, wie beispielsweise dessen „ background “, „ indicator “ oder eines Unterelements wie „ indicator.foreground “. Es stellt Eigenschaften zur Steuerung von „ size “, „ color “, „ border “, „ radius “, „ shadow “, „ image “, „ opacity “ und weiteren zur Verfügung.
Hinweis: Es kann nicht garantiert werden, dass die Typen in den Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.
Siehe auch ControlStyle, ControlStateStyle und die FallbackStyle-Referenz.
Dokumentation zu den Eigenschaften
alignment : Qt::Alignment
Die Ausrichtung des Delegaten innerhalb seines übergeordneten Elements. Der Standardwert ist „ Qt.AlignLeft | Qt.AlignVCenter “.
border : BorderStyle
Gruppierte Eigenschaft zur Gestaltung des Rahmens dieses Delegaten.
bottomLeftRadius : real
Der Radius der unteren linken Ecke. Wenn nicht festgelegt, wird standardmäßig „ radius “ verwendet.
Siehe auch radius, topLeftRadius, topRightRadius und bottomRightRadius.
bottomMargin : real
Der untere Rand dieses Delegaten. Wenn nicht festgelegt, wird auf „ margins “ zurückgegriffen.
Siehe auch margins, topMargin, leftMargin und rightMargin.
bottomRightRadius : real
Der Radius der unteren rechten Ecke. Wenn nicht festgelegt, wird standardmäßig „ radius “ verwendet.
Siehe auch radius, topLeftRadius, topRightRadius und bottomLeftRadius.
clip : bool
Ob der Delegat seinen Inhalt beschneidet. Der Standardwert ist „ false “.
color : color
Die Füllfarbe dieses Delegaten. Der Standardwert lautet „ transparent “.
Im Gegensatz zu einem „Quick Rectangle “, bei dem ein Farbverlauf die Farbe ersetzt, zeichnet StyleKit den „ gradient “ über die Farbe hinweg. Das bedeutet, dass Sie einen halbtransparenten Farbverlauf als Überlagerung verwenden können (zum Beispiel für einen dezenten Schattierungseffekt), während die Farbe darunter durchscheint.
button {
background.gradient: Gradient {
GradientStop { position: 0.0; color: Qt.alpha("black", 0.0)}
GradientStop { position: 1.0; color: Qt.alpha("black", 0.2)}
}
background.color: "lightsteelblue"
hovered.background.color: Qt.darker("lightsteelblue", 1.1)
pressed.background.color: Qt.darker("lightsteelblue", 1.2)
}Siehe auch „ gradient “ und „ opacity “.
data : QObject
Ein beliebiges Objekt, das zur Übergabe benutzerdefinierter Daten vom Stil an eine benutzerdefinierte „ delegate “-Komponente verwendet werden kann.
Auf diese Weise können Sie benutzerdefinierte Stileigenschaften festlegen, die über die Möglichkeiten der StyleKit-API hinausgehen. Das Datenobjekt kann je nach Zustand und Design variieren, wodurch es möglich wird, Elemente in einem benutzerdefinierten „ delegate “ zu gestalten, die nicht durch die integrierten Eigenschaften abgedeckt sind.
Der folgende Codeausschnitt verwendet einen benutzerdefinierten Delegaten, der eine Überlagerungs Text zeichnet, deren Farbe je nach Zustand des Steuerelements variiert. Der Delegat erbt von ` StyledItem`, was zwar optional ist, aber sicherstellt, dass der Rest des Schaltflächenhintergrunds normal gerendert wird.
component OverlayData : QtObject {
property color overlayColor
}
toolButton {
background.delegate: StyledItem {
id: custom
Text {
color: custom.delegateStyle.data.overlayColor
font.pixelSize: 30
text: "シ"
}
}
background.data: OverlayData {
overlayColor: "sandybrown"
}
hovered.background.data: OverlayData {
overlayColor: "magenta"
}
}Hinweis: Das „ data “-Objekt wird als Ganzes weitergegeben. Im Gegensatz zu regulären Stileigenschaften werden einzelne Eigenschaften innerhalb des Datenobjekts nicht separat weitergegeben.
Siehe auch „ delegate “.
delegate : Component
Der Delegat, der zum Rendern von „ DelegateStyle “ in einem „Qt Quick “-Steuerelement verwendet wird.
Der Standardwert ist „ null “; in diesem Fall wird stattdessen „ StyledItem “ für die Darstellung verwendet. Wenn Sie den Delegaten vollständig ausblenden möchten (und verhindern wollen, dass er erstellt wird), setzen Sie „ visible “ auf „ false “.
Der Delegat muss die folgenden erforderlichen Eigenschaften definieren:
required property DelegateStyle delegateStyle
required property QtObject controldelegateStyle verweist auf die „ DelegateStyle “, die beschreibt, wie der Delegat gestaltet werden soll. „ control “ verweist auf das „Qt Quick “-Steuerelement, dem der Delegat gehört. Letzteres kann verwendet werden, um zusätzliche Informationen über das Steuerelement abzurufen, die im Stil nicht verfügbar sind.
Wenn Sie den spezifischen Typ des zugehörigen Steuerelements kennen, können Sie diesen anstelle von ` QtObject ` für die Eigenschaft ` control ` verwenden. Da beispielsweise ein Handle-Delegat im folgenden Codeausschnitt immer innerhalb eines Sliders verwendet wird, kann der Typ auf ` T.Slider` gesetzt werden:
// import QtQuick.Templates as T
slider {
handle.delegate: Rectangle {
id: handle
required property DelegateStyle delegateStyle
required property T.Slider control
implicitWidth: delegateStyle.width
implicitHeight: delegateStyle.height
radius: delegateStyle.radius
color: delegateStyle.color
Text {
anchors.centerIn: parent
text: handle.control.value.toFixed(0)
}
}
}Hinweis: Wenn für einen „ DelegateStyle “ ein „ drop shadow “ definiert ist, wird dieser separat von einem shadow delegate.
Siehe auch „ data “, „ visible “ und „ StyledItem “.
fillHeight : bool
Ob der Delegat die verfügbare Höhe des übergeordneten Elements ausfüllen soll.
Von einigen Delegaten, wie beispielsweise dem Vordergrund eines Kontrollkästchen-Indikators, wird oft erwartet, dass sie die verfügbare Höhe (und Breite) des Indikators ausfüllen, anstatt eine feste Höhe zu haben. Dies lässt sich erreichen, indem „ fillHeight “ auf „ true “ gesetzt wird. Um etwas Abstand zwischen dem Delegaten und den Rändern seines übergeordneten Elements zu schaffen, verwenden Sie die Eigenschaften „ margins “.
Wenn „ fillHeight “ auf „ false “ gesetzt ist, wird die Höhe des Delegaten durch seine „ height “-Eigenschaft bestimmt.
Siehe auch „ fillWidth “ und „ height “.
fillWidth : bool
Ob der Delegat die verfügbare Breite des übergeordneten Elements ausfüllen soll.
Von einigen Delegaten, wie beispielsweise der Nut eines „ Slider “, wird oft erwartet, dass sie die verfügbare Breite des Steuerelements ausfüllen, anstatt eine feste implizite Breite zu haben. Dies lässt sich erreichen, indem „ fillWidth “ auf „ true “ gesetzt wird. Um etwas Abstand zwischen dem Delegaten und den Rändern seines übergeordneten Elements hinzuzufügen, verwenden Sie die Eigenschaften „ margins “.
Wenn „ fillWidth “ auf „ false “ gesetzt ist, wird die Breite des Delegaten durch dessen „ width “ bestimmt.
Siehe auch „ fillHeight “ und „ width “.
gradient : Gradient
Der Farbverlauf dieses Delegaten. Der Standardwert ist „ null “ (kein Farbverlauf).
Im Gegensatz zu einem „Quick Rectangle “, bei dem ein Farbverlauf die Farbe ersetzt, zeichnet StyleKit den Farbverlauf über die Farbe. Das bedeutet, dass Sie einen halbtransparenten Farbverlauf als Überlagerung verwenden können (zum Beispiel für einen dezenten Schattierungseffekt), während die Farbe darunter durchscheint.
button {
background.gradient: Gradient {
GradientStop { position: 0.0; color: Qt.alpha("black", 0.0)}
GradientStop { position: 1.0; color: Qt.alpha("black", 0.2)}
}
background.color: "lightsteelblue"
hovered.background.color: Qt.darker("lightsteelblue", 1.1)
pressed.background.color: Qt.darker("lightsteelblue", 1.2)
}Siehe auch „ color “.
height : real
Die Höhe dieses Delegaten.
Hinweis: Diese Eigenschaft legt die Höhe des Delegaten nur dann fest, wenn „ fillHeight “ auf „ false “ gesetzt ist. Dies gilt auch, wenn „ fillHeight “ weiter oben in der Stilhierarchie festgelegt ist, beispielsweise im „ fallback style “.
Befindet sich dieser Delegat an der Wurzel des Steuerelements – beispielsweise der „ background “ oder der „ indicator “ –, wird er ebenfalls bei der Berechnung der „ implicit height “ des Steuerelements berücksichtigt, selbst wenn „ fillHeight “ auf „ true “ gesetzt ist.
Siehe auch „ width“ , „ fillHeight “, „ minimumHeight “ und „StyleKit-Eigenschaftsauflösung“.
image : ImageStyle
Gruppierte Eigenschaft zum Einfügen eines Bildes in diesen Delegaten.
Siehe auch ImageStyle.
leftMargin : real
Der linke Rand dieses Delegaten. Falls nicht festgelegt, wird auf „ margins “ zurückgegriffen.
Siehe auch margins, rightMargin, topMargin und bottomMargin.
margins : real
Der einheitliche Rand um diesen Delegaten. Durch diese Einstellung wird ein Standardwert für leftMargin, rightMargin, topMargin und bottomMargin festgelegt. Jeder Rand kann einzeln überschrieben werden.
Siehe auch leftMargin, rightMargin, topMargin und bottomMargin.
minimumHeight : real
Die Mindesthöhe dieses Delegaten. Der Delegat wird nicht kleiner als dieser Wert dargestellt.
minimumWidth : real
Die Mindestbreite dieses Delegaten. Der Delegat wird nicht kleiner als dieser Wert dargestellt.
opacity : real
Die Deckkraft dieses Delegaten, von 0.0 (vollständig transparent) bis 1.0 (vollständig undurchsichtig). Der Standardwert ist 1.0.
radius : real
Der Eckenradius, der auf alle vier Ecken dieses Delegaten angewendet wird. Einzelne Ecken können mit topLeftRadius, topRightRadius, bottomLeftRadius und bottomRightRadius überschrieben werden.
Siehe auch topLeftRadius, topRightRadius, bottomLeftRadius und bottomRightRadius.
rightMargin : real
Der rechte Rand dieses Delegaten. Falls nicht festgelegt, wird auf „ margins “ zurückgegriffen.
Siehe auch margins, leftMargin, topMargin und bottomMargin.
rotation : real
Die Drehung dieses Delegaten in Grad.
scale : real
Der Skalierungsfaktor dieses Delegaten. Der Standardwert lautet „ 1.0 “.
shadow : ShadowStyle
Gruppierte Eigenschaft zum Gestalten eines Schlagschattens hinter diesem Delegaten.
Siehe auch ShadowStyle.
topLeftRadius : real
Der Radius der oberen linken Ecke. Wenn nicht festgelegt, wird der Standardwert „ radius “ verwendet.
Siehe auch radius, topRightRadius, bottomLeftRadius und bottomRightRadius.
topMargin : real
Der obere Rand dieses Delegaten. Falls nicht festgelegt, wird auf „ margins “ zurückgegriffen.
Siehe auch margins, bottomMargin, leftMargin und rightMargin.
topRightRadius : real
Der Radius der oberen rechten Ecke. Wenn nicht festgelegt, wird auf „ radius “ zurückgegriffen.
Siehe auch radius, topLeftRadius, bottomLeftRadius und bottomRightRadius.
visible : bool
Gibt an, ob dieser Delegat sichtbar ist. Der Standardwert lautet „ true “.
Hinweis: Obwohl der Standardwert „ true “ lautet, setzt die Eigenschaft „ fallback style “ (die viele der Standardwerte überschreibt) „ background.visible “ auf „ false “ für Steuerelemente, die normalerweise keinen Hintergrund zeichnen sollten, wie beispielsweise „ CheckBox “, „ RadioButton “ und „ Slider “.
Wenn „ visible “ auf „ false “ gesetzt ist, wird „ delegate “ nicht erstellt. Wenn Sie möchten, dass ein versteckter Delegat erstellt wird, sollten Sie stattdessen „ opacity “ auf „ 0 “ setzen.
Siehe auch opacity.
width : real
Die Breite dieses Delegaten.
Hinweis: Diese Eigenschaft legt die Breite des Delegaten nur dann fest, wenn „ fillWidth “ auf „ false “ gesetzt ist. Dies gilt auch, wenn „ fillWidth “ in der Stilhierarchie weiter oben festgelegt ist, beispielsweise im „ fallback style “.
Befindet sich dieser Delegat an der Wurzel des Steuerelements – beispielsweise der „ background “ oder der „ indicator “ –, wird er ebenfalls bei der Berechnung der „ implicit width “ des Steuerelements berücksichtigt, selbst wenn „ fillWidth “ auf „ true “ gesetzt ist.
Siehe auch „ height“ , „ fillWidth “, „ minimumWidth “ und „StyleKit Property Resolution“.
© 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.