Sur cette page

StyleReader QML Type

Lit les propriétés du style actif pour un contrôle spécifique. Plus d'informations...

Import Statement: import Qt.labs.StyleKit
Inherits:

ControlStyleProperties

Propriétés

Description détaillée

StyleReader est le pont entre un contrôle dans Qt Quick Controls et active style. Il expose toutes les propriétés de style - backgrounds, indicators, handles, text, padding, et plus encore - qu'un contrôle, et ses délégués, devraient lier. Tous les contrôles StyleKit intégrés utilisent un StyleReader en interne à cette fin.

Les propriétés d'état - hovered, pressed, focused, checked, highlighted, etc. - indiquent à StyleReader dans quel état se trouve le contrôle. Il les utilise pour résoudre et lire les valeurs de propriété correctes à partir de Style, en tenant compte de Themes, StyleVariations, fallback types et de la propagation des propriétés.

Lors de l'implémentation d'un CustomControl, vous pouvez suivre la même approche que les contrôles intégrés :

// Main.qml

component CustomButton : Rectangle {
    StyleReader {
        id: styleReader
        controlType: StyleReader.Button
        hovered: hoverHandler.hovered
        pressed: tapHandler.pressed
        palette: app.palette
    }

    implicitWidth: styleReader.background.implicitWidth
    implicitHeight: styleReader.background.implicitHeight
    color: styleReader.background.color
    radius: styleReader.background.radius

    HoverHandler { id: hoverHandler }
    TapHandler { id: tapHandler }

    Text {
        font: styleReader.font
        anchors.centerIn: parent
        text: "ok"
    }
}

Remarque : les propriétés de style héritées de ControlStyleProperties ne correspondent pas directement à Style. Elles reflètent plutôt un cache de valeurs potentiellement interpolées au cours d'une activité transition. L'écriture dans ces propriétés ne mettra pas à jour les propriétés correspondantes dans Style et peut interférer avec les transitions en cours. Écrivez directement à Style lorsque vous devez modifier une propriété de style.

Note : La compatibilité des types dans les modules Qt.labs n'est pas garantie dans les versions futures.

Voir aussi CustomControl, Style, et StyleVariation.controlType.

Documentation sur les propriétés

checked : bool

Indique si le contrôle est vérifié.

Cette valeur est liée à la propriété checked du contrôle.

La valeur par défaut est false.

Voir aussi ControlStateStyle.checked.

controlType : enumeration

Identifie le type de contrôle du site Style dont le lecteur lit les propriétés. Cette valeur peut être définie comme l'une des valeurs prédéfinies ci-dessous ou comme une valeur custom control type définie dans le site Style.

ConstanteDescription
StyleReader.ButtonButton
StyleReader.CheckBoxCheckBox
StyleReader.ComboBoxComboBox
StyleReader.FrameFrame
StyleReader.GroupBoxGroupBox
StyleReader.ItemDelegateItemDelegate
StyleReader.LabelLabel
StyleReader.MenuMenu
StyleReader.DialogDialog
StyleReader.PagePage
StyleReader.PanePane
StyleReader.PopupPopup
StyleReader.ProgressBarProgressBar
StyleReader.RadioButtonRadioButton
StyleReader.ScrollBarScrollBar
StyleReader.ScrollViewScrollView
StyleReader.SearchFieldSearchField
StyleReader.SliderSlider
StyleReader.SpinBoxSpinBox
StyleReader.SwitchSwitch
StyleReader.TabBarTabBar
StyleReader.TabButtonTabButton
StyleReader.TextAreaTextArea
StyleReader.TextFieldTextField
StyleReader.ToolBarToolBar
StyleReader.ToolButtonToolButton
StyleReader.ToolSeparatorToolSeparator

Voir aussi StyleVariation.controlType.

enabled : bool

Indique si le contrôle est activé.

Cette valeur est liée à la propriété enabled du contrôle.

La valeur par défaut est true.

Voir aussi ControlStyleState.disabled.

focused : bool

Indique si le contrôle a un focus actif.

Cette valeur est liée à la propriété activeFocus du contrôle.

La valeur par défaut est false.

Voir également ControlStateStyle.focused.

font : font [read-only]

La police effective pour ce type de contrôle, telle qu'elle est définie par la propriété style. Elle prend également en compte les éventuelles dérogations de police définies dans les propriétés text du style.

Lier la propriété font du contrôle à cette propriété.

Remarque : contrairement aux propriétés telles que hovered, pressed et palette - qui est transmise du contrôle à StyleReader - la police est une sortie. Lier la propriété font du contrôle à cette valeur, et non l'inverse.

global : ControlStyleProperties [read-only]

Fournit un accès direct aux propriétés de style, en contournant toute transition en cours.

Lorsqu'une transition d'état est en cours, les propriétés de style lues à partir de StyleReader peuvent renvoyer des valeurs interpolées. En ajoutant global au chemin d'accès aux propriétés, vous contournez la transition et obtenez immédiatement les valeurs de l'état final.

Par exemple, lors de la transition de hovered à pressed, background.color peut renvoyer une valeur interpolée entre color dans l'état hovered et la couleur dans l'état pressed. global.background.color Par contre, la couleur de l'état pressé est renvoyée directement.

Voir aussi transitionsEnabled.

highlighted : bool

Indique si le contrôle est mis en évidence.

Lier ce paramètre à la propriété highlighted du contrôle.

La valeur par défaut est false.

Voir aussi ControlStateStyle.highlighted.

hovered : bool

Si le contrôle est survolé.

Liez ceci à la propriété hovered du contrôle.

La valeur par défaut est false.

Voir aussi ControlStateStyle.hovered.

palette : palette

La palette du contrôle. StyleKit l'utilise pour résoudre les propriétés de couleur qui lient palette à Style.

Lier cette propriété à la propriété palette du contrôle.

Voir également Style.palette.

pressed : bool

Indique si le contrôle est enfoncé.

Liez ceci à la propriété pressed du contrôle.

La valeur par défaut est false.

Voir aussi ControlStateStyle.pressed.

vertical : bool

Indique si le contrôle est orienté verticalement.

Lier ce paramètre à la valeur orientation du contrôle.

La valeur par défaut est false.

Voir également ControlStateStyle.vertical.

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