Sur cette page

ScrollIndicator QML Type

Indicateur de défilement vertical ou horizontal non interactif. Plus d'informations...

Import Statement: import QtQuick.Controls
Inherits:

Control

Propriétés

Propriétés rattachées

Description détaillée

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

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

Attacher un ScrollIndicator à un Flickable

Remarque : lorsque le ScrollIndicator est attaché vertically ou horizontally à un Flickable, sa géométrie et les propriétés suivantes sont automatiquement définies et mises à jour en conséquence :

Un ScrollIndicator attaché se réoriente vers le Flickable cible. Un ScrollIndicator attaché verticalement se redimensionne à la hauteur du Flickable et se positionne d'un côté ou de l'autre de celui-ci en fonction de layout direction. Un ScrollIndicator attaché horizontalement se redimensionne à la largeur du Flickable et se positionne en bas. La gestion automatique de la géométrie peut être désactivée en spécifiant un autre parent pour le ScrollIndicator attaché. Cela peut s'avérer utile, par exemple, si le ScrollIndicator doit être placé en dehors d'un Flickable clippant. L'exemple suivant le démontre :

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

Lier l'état actif des indicateurs de défilement horizontal et vertical

Par défaut, les indicateurs de défilement horizontal et vertical ne partagent pas l'état active. Pour que les deux indicateurs restent visibles lors d'un défilement dans l'une ou l'autre direction, il convient d'établir 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 est utile lorsque le comportement de l'indicateur de défilement attaché n'est pas suffisant ou qu'une page Flickable n'est pas utilisée. Dans l'exemple suivant, des indicateurs de défilement horizontal et vertical 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é de manière autonome sans propriété attachée

Variations de la taille des délégués

Des délégués de taille variable peuvent conduire ScrollIndicator à "sauter" lorsque de nouveaux délégués sont chargés dans la vue. Pour cette raison, il est recommandé d'avoir des délégués de taille égale. Voir Variable Delegate Size and Section Labels pour plus d'informations.

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

Documentation sur les propriétés

active : bool

Cette propriété indique si l'indicateur est actif, c'est-à-dire si le Flickable attaché est moving.

Il est possible de conserver both horizontal and vertical indicators visible 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 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 aussi orientation.

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

Cette propriété définit la taille minimale de l'indicateur, à l'échelle de 0.0 - 1.0.

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

Voir aussi size, visualSize, et visualPosition.

orientation : enumeration

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

Valeurs possibles :

ConstanteDescription de l'indicateur
Qt.HorizontalHorizontal
Qt.VerticalVertical (par défaut)

Cette propriété est automatiquement définie 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 sur 0.0 - 1.0.

Cette propriété est automatiquement définie 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 sur 0.0 - 1.0.

Cette propriété est automatiquement définie 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 aussi orientation.

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

Cette propriété définit la position visuelle effective de l'indicateur, qui peut être limitée par le site 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é définit la taille visuelle effective de l'indicateur, qui peut être limitée par le site minimum size.

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

Voir également size et minimumSize.

Documentation sur la propriété Attached

ScrollIndicator.horizontal : ScrollIndicator

Cette propriété permet d'attacher un indicateur de défilement horizontal à une page Flickable.

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

Voir aussi Attaching ScrollIndicator to a Flickable.

ScrollIndicator.vertical : ScrollIndicator

Cette propriété permet d'attacher un indicateur de défilement vertical à un site Flickable.

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

Voir aussi 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.