Sur cette page

ScrollIndicator QML Type

Indicateur de défilement vertical ou horizontal non interactif. En savoir plus...

Import Statement: import QtQuick.Controls
Inherits:

Control

Propriétés

Propriétés associées

Description détaillée

ScrollIndicator est un indicateur non interactif qui indique la position actuelle de défilement. Un indicateur de défilement peut être soit vertical soit horizontal, et peut être associé à n'importe quel Flickable, tel que ListView et GridView.

Flickable {
    // ...
    ScrollIndicator.vertical: ScrollIndicator { }
}

Associer un ScrollIndicator à un Flickable

Remarque : lorsque ScrollIndicator est associé vertically ou horizontally à un Flickable, sa géométrie et les propriétés suivantes sont automatiquement définies et mises à jour comme il convient :

Un ScrollIndicator associé se rattache au Flickable cible. Un ScrollIndicator associé verticalement s'adapte à la hauteur du Flickable et se positionne de part et d'autre de celui-ci en fonction de l'layout direction. Un ScrollIndicator associé horizontalement s'adapte à la largeur du Flickable et se positionne en bas de celui-ci. La gestion automatique de la géométrie peut être désactivée en spécifiant un autre parent pour le ScrollIndicator associé. Cela peut s’avérer utile, par exemple, si le ScrollIndicator doit être placé à l’extérieur d’un Flickable de découpage. L’exemple suivant illustre cette situation :

Flickable {
    id: flickable
    clip: true
    // ...
    ScrollIndicator.vertical: ScrollIndicator {
        parent: flickable.parent
        anchors.top: flickable.top
        anchors.left: flickable.right
        anchors.bottom: flickable.bottom
    }
}

Liaison de l'état actif des indicateurs de défilement horizontaux et verticaux

Par défaut, les indicateurs de défilement horizontaux et verticaux ne partagent pas l'état « active » entre eux. Afin de maintenir les deux indicateurs visibles lors du défilement dans l'une ou l'autre direction, établissez une liaison bidirectionnelle entre les états actifs, comme le montre l'exemple suivant :

Flickable {
    anchors.fill: parent

    contentWidth: parent.width * 2
    contentHeight: parent.height * 2

    ScrollIndicator.horizontal: ScrollIndicator { id: hbar; active: vbar.active }
    ScrollIndicator.vertical: ScrollIndicator { id: vbar; active: hbar.active }
}

Indicateurs de défilement non attachés

Il est possible de créer une instance de ScrollIndicator sans utiliser l’API des propriétés attachées. Cela s’avère utile lorsque le comportement de l’indicateur de défilement attaché n’est pas suffisant ou qu’aucun « Flickable » n’est utilisé. Dans l’exemple suivant, des indicateurs de défilement horizontaux et verticaux sont utilisés pour indiquer jusqu’où l’utilisateur a fait défiler le texte (en utilisant MouseArea au lieu de Flickable) :

Rectangle {
    id: frame
    clip: true
    width: 160
    height: 160
    border.color: "black"
    anchors.centerIn: parent

    Text {
        id: content
        text: "ABC"
        font.pixelSize: 169

        MouseArea {
            id: mouseArea
            drag.target: content
            drag.minimumX: frame.width - width
            drag.minimumY: frame.height - height
            drag.maximumX: 0
            drag.maximumY: 0
            anchors.fill: content
        }
    }

    ScrollIndicator {
        id: verticalIndicator
        active: mouseArea.pressed
        orientation: Qt.Vertical
        size: frame.height / content.height
        position: -content.y / content.height
        anchors { top: parent.top; right: parent.right; bottom: parent.bottom }
    }

    ScrollIndicator {
        id: horizontalIndicator
        active: mouseArea.pressed
        orientation: Qt.Horizontal
        size: frame.width / content.width
        position: -content.x / content.width
        anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
    }
}

Indicateur de défilement utilisé seul, sans propriété associée

Tailles variables des délégués

Des tailles de délégués variables peuvent entraîner des « sauts » de l’indicateur de défilement lorsque de nouveaux délégués sont chargés dans la vue. Il est donc recommandé d’utiliser des délégués de taille identique. Voir Variable Delegate Size and Section Labels pour plus d’informations.

Voir également ScrollBar, Personnalisation de ScrollIndicator et Contrôles d'indicateur.

Documentation sur les propriétés

active : bool

Cette propriété s'applique que l'indicateur soit actif ou non, c'est-à-dire lorsque le Flickable associé est en mode « moving ».

Il est possible de conserver l'both horizontal and vertical indicators visible e tout en faisant défiler dans l'une ou l'autre direction.

Cette propriété est automatiquement définie lorsque l'indicateur de défilement est sur « attached to a flickable ».

horizontal : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]

Cette propriété indique si l'indicateur de défilement est horizontal.

Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).

Voir également orientation.

minimumSize : real [since QtQuick.Controls 2.4 (Qt 5.11)]

Cette propriété contient la taille minimale de l'indicateur, mise à l'échelle selon la formule suivante : 0.0 - 1.0.

Cette propriété a été introduite dans QtQuick.Controls 2.4 (Qt 5.11).

Voir également size, visualSize et visualPosition.

orientation : enumeration

Cette propriété définit l'orientation de l'indicateur.

Valeurs possibles :

ConstanteDescription
Qt.HorizontalHorizontale
Qt.VerticalVerticale (par défaut)

Cette propriété est définie automatiquement lorsque l'indicateur de défilement est attached to a flickable.

Voir également horizontal et vertical.

position : real

Cette propriété contient la position de l'indicateur, mise à l'échelle selon la valeur « 0.0 - 1.0 ».

Cette propriété est définie automatiquement lorsque l'indicateur de défilement est attached to a flickable.

Voir également Flickable::visibleArea et visualPosition.

size : real

Cette propriété contient la taille de l'indicateur, mise à l'échelle selon la valeur « 0.0 - 1.0 ».

Cette propriété est définie automatiquement lorsque l'indicateur de défilement est « attached to a flickable ».

Voir également Flickable::visibleArea, minimumSize et visualSize.

vertical : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]

Cette propriété indique si l'indicateur de défilement est vertical.

Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).

Voir également orientation.

visualPosition : real [since QtQuick.Controls 2.4 (Qt 5.11)]

Cette propriété contient la position visuelle effective de l'indicateur, qui peut être limitée par la propriété ` minimum size`.

Cette propriété a été introduite dans QtQuick.Controls 2.4 (Qt 5.11).

Voir également « position » et « minimumSize ».

visualSize : real [since QtQuick.Controls 2.4 (Qt 5.11)]

Cette propriété contient la taille visuelle effective de l'indicateur, qui peut être limitée par la propriété ` minimum size`.

Cette propriété a été introduite dans QtQuick.Controls 2.4 (Qt 5.11).

Voir également « size » et « minimumSize ».

Documentation sur les propriétés associées

ScrollIndicator.horizontal : ScrollIndicator [attached]

Cette propriété ajoute un indicateur de défilement horizontal à un élément « Flickable ».

Flickable {
    contentWidth: 2000
    ScrollIndicator.horizontal: ScrollIndicator { }
}

Voir également Attaching ScrollIndicator to a Flickable.

ScrollIndicator.vertical : ScrollIndicator [attached]

Cette propriété ajoute un indicateur de défilement vertical à une balise Flickable.

Flickable {
    contentHeight: 2000
    ScrollIndicator.vertical: ScrollIndicator { }
}

Voir également Attaching ScrollIndicator to a Flickable.

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