DelegateStyle QML Type
Définit l'apparence visuelle d'un élément au sein d'un contrôle. En savoir plus...
| Import Statement: | import Qt.labs.StyleKit |
| Inherited By: | |
| Status: | Technology preview |
Ce type est en phase de préversion technologique et est susceptible d'être modifié.
Propriétés
- 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
Description détaillée
DelegateStyle décrit l'apparence visuelle d'un élément visuel au sein d'un ControlStyle, tel que son background, indicator ou un sous-élément comme indicator.foreground. Il fournit des propriétés permettant de contrôler size, color, border, radius, shadow, image, opacity, et bien d'autres encore.
Remarque : la compatibilité des types dans les modules Qt.labs n’est pas garantie dans les versions futures.
Voir également ControlStyle, ControlStateStyle et la référence FallbackStyle.
Documentation sur les propriétés
alignment : Qt::Alignment
L'alignement du délégué au sein de son élément parent. La valeur par défaut est « Qt.AlignLeft | Qt.AlignVCenter ».
border : BorderStyle
Propriété groupée permettant de définir le style de la bordure de ce délégué.
bottomLeftRadius : real
Rayon du coin inférieur gauche. S'il n'est pas défini, la valeur par défaut est radius.
Voir également radius, topLeftRadius, topRightRadius et bottomRightRadius.
bottomMargin : real
La marge inférieure de ce délégué. Si elle n'est pas définie, la valeur par défaut est margins.
Voir également margins, topMargin, leftMargin et rightMargin.
bottomRightRadius : real
Rayon du coin inférieur droit. S'il n'est pas défini, la valeur par défaut est radius.
Voir également radius, topLeftRadius, topRightRadius et bottomLeftRadius.
clip : bool
Indique si le délégué tronque son contenu. La valeur par défaut est « false ».
color : color
Couleur de remplissage de ce délégué. La valeur par défaut est transparent.
Contrairement à un « Quick Rectangle » (Remplissage rapide), où un dégradé remplace la couleur, StyleKit dessine l’ gradient par-dessus la couleur. Cela signifie que vous pouvez utiliser un dégradé semi-transparent comme superposition (par exemple, un effet d’ombrage subtil) tout en laissant transparaître la couleur en dessous.
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)
}Voir également « gradient » et « opacity ».
data : QObject
Objet arbitraire permettant de transmettre des données personnalisées depuis le style vers un composant personnalisé de type « delegate ».
Cela vous permet de définir des propriétés de style personnalisées allant au-delà de ce que propose l’API StyleKit. L’objet de données peut varier selon les états et les thèmes, ce qui permet de styliser, dans une delegate personnalisée, des éléments qui ne sont pas pris en charge par les propriétés intégrées.
L'extrait de code suivant utilise un délégué personnalisé qui dessine une superposition d'Text dont la couleur varie en fonction de l'état du contrôle. Le délégué hérite de ` StyledItem`, ce qui est facultatif mais garantit que le reste de l'arrière-plan du bouton s'affiche normalement.
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"
}
}Remarque : l' data est propagé dans son ensemble. Contrairement aux propriétés de style classiques, les propriétés individuelles contenues dans l' ne sont pas propagées séparément.
Voir également delegate.
delegate : Component
Délégué utilisé pour afficher la page DelegateStyle dans un contrôleQt Quick .
La valeur par défaut est « null » ; dans ce cas, l'affichage s'effectue via « StyledItem ». Si vous souhaitez masquer complètement le délégué (et empêcher sa création), définissez « visible » sur « false ».
Le délégué doit définir les propriétés obligatoires suivantes :
required property DelegateStyle delegateStyle
required property QtObject controldelegateStyle pointe vers l’ DelegateStyle qui décrit comment le délégué doit être stylisé. control pointe vers le contrôleQt Quick propriétaire du délégué. Ce dernier peut être utilisé pour obtenir des informations supplémentaires sur le contrôle qui ne sont pas disponibles dans le style.
Si vous connaissez le type spécifique du contrôle propriétaire, vous pouvez l'utiliser à la place de ` QtObject ` pour la propriété ` control `. Par exemple, comme le délégué de poignée dans l'extrait de code ci-dessous est toujours utilisé à l'intérieur d'un `Slider`, le type peut être défini sur ` T.Slider` :
// 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)
}
}
}Remarque : si un « DelegateStyle » possède une propriété « drop shadow » définie, celle-ci sera dessinée séparément par un shadow delegate.
Voir également « data », « visible » et « StyledItem ».
fillHeight : bool
Indique si le délégué doit occuper toute la hauteur disponible de l'élément parent.
Certains délégués, tels que la partie visible d’un indicateur de case à cocher, sont souvent censés occuper toute la hauteur (et la largeur) disponible de l’indicateur, plutôt que d’avoir une hauteur fixe. Pour ce faire, définissez la propriété « fillHeight » sur « true ». Pour ajouter un espace entre le délégué et les bords de son élément parent, utilisez les propriétés « margins ».
Si la propriété fillHeight est définie sur false, la hauteur du délégué est déterminée par sa propriété height.
Voir également « fillWidth » et « height ».
fillWidth : bool
Indique si le délégué doit occuper toute la largeur disponible de l'élément parent.
Certains délégués, tels que la rainure d’un « Slider », sont souvent censés occuper toute la largeur disponible du contrôle, plutôt que d’avoir une largeur implicite fixe. Pour ce faire, définissez la propriété « fillWidth » sur « true ». Pour ajouter un peu d’espace entre le délégué et les bords de son élément parent, utilisez les propriétés « margins ».
Si fillWidth est défini sur false, la largeur du délégué est déterminée par sa propriété width.
Voir également « fillHeight » et « width ».
gradient : Gradient
Le dégradé de ce délégué. La valeur par défaut est « null » (pas de dégradé).
Contrairement à un « Quick Rectangle », où un dégradé remplace la couleur, StyleKit dessine le dégradé par-dessus la couleur. Cela signifie que vous pouvez utiliser un dégradé semi-transparent comme superposition (par exemple, un effet d'ombrage subtil) tout en laissant transparaître la couleur en dessous.
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)
}Voir également color.
height : real
La hauteur de ce délégué.
Remarque : cette propriété ne définit la hauteur du délégué que lorsque fillHeight est défini sur false. Cela s'applique également lorsque fillHeight est défini à un niveau supérieur dans la hiérarchie des styles, par exemple dans l'élément fallback style.
Si ce délégué se trouve à la racine du contrôle — par exemple l’ background ou l’ indicator —, il sera également pris en compte lors du calcul de l’ implicit height du contrôle, même lorsque l’ fillHeight est défini sur true.
Voir également width, fillHeight, minimumHeight et Résolution des propriétés StyleKit.
image : ImageStyle
Propriété groupée permettant d'insérer une image dans ce délégué.
Voir également ImageStyle.
leftMargin : real
La marge gauche de ce délégué. Si elle n'est pas définie, la valeur par défaut est margins.
Voir également margins, rightMargin, topMargin et bottomMargin.
margins : real
La marge uniforme autour de ce délégué. La définition de ce paramètre fournit une valeur par défaut pour leftMargin, rightMargin, topMargin et bottomMargin. Chaque côté peut être redéfini individuellement.
Voir également leftMargin, rightMargin, topMargin et bottomMargin.
minimumHeight : real
Hauteur minimale de ce délégué. La taille du délégué ne sera pas inférieure à cette valeur.
minimumWidth : real
Largeur minimale de ce délégué. La taille du délégué ne sera pas inférieure à cette valeur.
opacity : real
L'opacité de ce délégué, allant de 0.0 (entièrement transparent) à 1.0 (entièrement opaque). La valeur par défaut est 1.0.
Voir également visible et color.
radius : real
Rayon de courbure appliqué aux quatre coins de ce délégué. Il est possible de redéfinir chaque coin individuellement à l'aide de topLeftRadius, topRightRadius, bottomLeftRadius et bottomRightRadius.
Voir également topLeftRadius, topRightRadius, bottomLeftRadius et bottomRightRadius.
rightMargin : real
La marge droite de ce délégué. Si elle n'est pas définie, la valeur par défaut est margins.
Voir également margins, leftMargin, topMargin et bottomMargin.
rotation : real
La rotation de ce délégué, en degrés.
scale : real
Le facteur d'échelle de ce délégué. La valeur par défaut est « 1.0 ».
shadow : ShadowStyle
Propriété groupée permettant d'appliquer une ombre portée derrière ce délégué.
Voir également ShadowStyle.
topLeftRadius : real
Le rayon du coin supérieur gauche. S'il n'est pas défini, la valeur par défaut est radius.
Voir également radius, topRightRadius, bottomLeftRadius et bottomRightRadius.
topMargin : real
La marge supérieure de ce délégué. Si elle n'est pas définie, la valeur par défaut est margins.
Voir également margins, bottomMargin, leftMargin et rightMargin.
topRightRadius : real
Le rayon du coin supérieur droit. S'il n'est pas défini, la valeur par défaut est radius.
Voir également radius, topLeftRadius, bottomLeftRadius et bottomRightRadius.
visible : bool
Indique si ce délégué est visible. La valeur par défaut est true.
Remarque : bien que la valeur par défaut soit « true », la propriété « fallback style » (qui remplace bon nombre des valeurs par défaut) définit « background.visible » sur « false » pour les contrôles qui, en règle générale, ne doivent pas afficher d’arrière-plan, tels que « CheckBox », « RadioButton » et « Slider ».
Lorsque visible est défini sur false, le delegate n’est pas créé. Si vous souhaitez qu’un délégué masqué soit créé, envisagez plutôt de définir opacity sur 0.
Voir également opacity.
width : real
La largeur de ce délégué.
Remarque : cette propriété ne définit la largeur du délégué que lorsque fillWidth est défini sur false. Cela s'applique également lorsque fillWidth est défini à un niveau supérieur dans la hiérarchie des styles, par exemple dans le fallback style.
Si ce délégué se trouve à la racine du contrôle — par exemple l’ background ou l’ indicator —, il sera également pris en compte lors du calcul de l’ implicit width du contrôle, même lorsque l’ fillWidth est défini sur true.
Voir également height, fillWidth, minimumWidth et Résolution des propriétés StyleKit.
© 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.