En esta página

ScrollIndicator QML Type

Indicador de desplazamiento vertical u horizontal no interactivo. Más...

Import Statement: import QtQuick.Controls
Inherits:

Control

Propiedades

Propiedades anexas

Descripción detallada

ScrollIndicator es un indicador no interactivo que indica la posición de desplazamiento actual. Un indicador de desplazamiento puede ser vertical o horizontal, y puede adjuntarse a cualquier Flickable, como ListView y GridView.

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

Adjuntar ScrollIndicator a un Flickable

Nota: Cuando se adjunta un ScrollIndicator vertically o horizontally a un Flickable, su geometría y las siguientes propiedades se establecen y actualizan automáticamente según corresponda:

Un ScrollIndicator acoplado se vuelve a acoplar al Flickable de destino. Un ScrollIndicator acoplado verticalmente se redimensiona a la altura del Flickable y se posiciona a ambos lados de éste en función de layout direction. Un ScrollIndicator acoplado horizontalmente se redimensiona a la anchura del Flickable y se posiciona en la parte inferior. La gestión automática de la geometría puede desactivarse especificando otro padre para el ScrollIndicator adjunto. Esto puede ser útil, por ejemplo, si el ScrollIndicator debe colocarse fuera de un Flickable de recorte. Esto se demuestra en el siguiente ejemplo:

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

Vinculación del estado activo de los indicadores de desplazamiento horizontal y vertical

Los indicadores de desplazamiento horizontal y vertical no comparten el estado active entre sí por defecto. Para mantener visibles ambos indicadores mientras se desplaza en cualquier dirección, establezca una vinculación bidireccional entre los estados activos como se presenta en el siguiente ejemplo:

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 }
}

Indicadores de desplazamiento no vinculados

Es posible crear una instancia de ScrollIndicator sin utilizar la API de propiedades adjuntas. Esto resulta útil cuando el comportamiento del indicador de desplazamiento adjunto no es suficiente o no se utiliza Flickable. En el siguiente ejemplo, se utilizan indicadores de desplazamiento horizontal y vertical para indicar hasta dónde se ha desplazado el usuario por el texto (utilizando MouseArea en lugar 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 }
    }
}

Indicador de desplazamiento utilizado de forma independiente sin propiedad adjunta

Variación del tamaño de los delegados

Los tamaños variables de los delegados pueden hacer que ScrollIndicator "salte" a medida que se cargan nuevos delegados en la vista. Por este motivo, se recomienda utilizar delegados de igual tamaño. Consulte Variable Delegate Size and Section Labels para obtener más información.

Consulte también ScrollBar, Personalización de ScrollIndicator y Controles de indicador.

Documentación de Propiedades

active : bool

Esta propiedad mantiene si el indicador está activo, es decir, cuando el Flickable adjunto es moving.

Es posible mantener both horizontal and vertical indicators visible mientras se desplaza en cualquier dirección.

Esta propiedad se activa automáticamente cuando el indicador de desplazamiento es attached to a flickable.

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

Esta propiedad mantiene si el indicador de desplazamiento es horizontal.

Esta propiedad se introdujo en QtQuick.Controls 2.3 (Qt 5.10).

Ver también orientation.

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

Esta propiedad mantiene el tamaño mínimo del indicador, escalado a 0.0 - 1.0.

Esta propiedad se introdujo en QtQuick.Controls 2.4 (Qt 5.11).

Véase también size, visualSize, y visualPosition.

orientation : enumeration

Esta propiedad contiene la orientación del indicador.

Valores posibles:

ConstanteDescripción
Qt.HorizontalHorizontal
Qt.VerticalVertical (por defecto)

Esta propiedad se establece automáticamente cuando el indicador de desplazamiento es attached to a flickable.

Véase también horizontal y vertical.

position : real

Esta propiedad mantiene la posición del indicador, escalada a 0.0 - 1.0.

Esta propiedad se establece automáticamente cuando el indicador de desplazamiento es attached to a flickable.

Véase también Flickable::visibleArea y visualPosition.

size : real

Esta propiedad contiene el tamaño del indicador, escalado a 0.0 - 1.0.

Esta propiedad se establece automáticamente cuando el indicador de desplazamiento es attached to a flickable.

Véase también Flickable::visibleArea, minimumSize, y visualSize.

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

Esta propiedad mantiene si el indicador de desplazamiento es vertical.

Esta propiedad se introdujo en QtQuick.Controls 2.3 (Qt 5.10).

Ver también orientation.

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

Esta propiedad contiene la posición visual efectiva del indicador, que puede estar limitada por minimum size.

Esta propiedad se introdujo en QtQuick.Controls 2.4 (Qt 5.11).

Véase también position y minimumSize.

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

Esta propiedad mantiene el tamaño visual efectivo del indicador, que puede estar limitado por minimum size.

Esta propiedad se introdujo en QtQuick.Controls 2.4 (Qt 5.11).

Véase también size y minimumSize.

Documentación de la propiedad Attached

ScrollIndicator.horizontal : ScrollIndicator

Esta propiedad adjunta un indicador de desplazamiento horizontal a Flickable.

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

Véase también Attaching ScrollIndicator to a Flickable.

ScrollIndicator.vertical : ScrollIndicator

Esta propiedad adjunta un indicador de desplazamiento vertical a Flickable.

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

Véase también 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.