Auf dieser Seite

ScrollIndicator QML Type

Vertikaler oder horizontaler, nicht interaktiver Bildlaufbalken. Mehr...

Import Statement: import QtQuick.Controls
Inherits:

Control

Eigenschaften

Zugehörige Eigenschaften

Ausführliche Beschreibung

ScrollIndicator ist ein nicht-interaktiver Indikator, der die aktuelle Scrollposition anzeigt. Ein Scrollindikator kann entweder „ vertical “ oder „ horizontal “ lauten und an jedes „ Flickable “ angehängt werden, wie beispielsweise „ ListView “ und „ GridView “.

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

Hinzufügen eines ScrollIndicators zu einem Flickable

Hinweis: Wenn ein „ScrollIndicator“ über „ vertically “ oder „ horizontally “ an ein „Flickable“ angehängt wird, werden seine Geometrie und die folgenden Eigenschaften automatisch entsprechend festgelegt und aktualisiert:

Ein angehängter „ScrollIndicator“ ordnet sich dem Ziel-„Flickable“ als untergeordnetes Element zu. Ein vertikal angehängter „ScrollIndicator“ passt seine Größe an die Höhe des „Flickable“ an und positioniert sich je nach layout direction auf einer der beiden Seiten davon. Ein horizontal angehängter „ScrollIndicator“ passt seine Größe an die Breite des „Flickable“ an und positioniert sich am unteren Rand. Die automatische Geometrieverwaltung kann deaktiviert werden, indem ein anderes übergeordnetes Element für den angehängten ScrollIndicator festgelegt wird. Dies kann beispielsweise nützlich sein, wenn der ScrollIndicator außerhalb eines beschneidenden Flickable platziert werden soll. Dies wird im folgenden Beispiel veranschaulicht:

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

Verknüpfung des aktiven Zustands von horizontalen und vertikalen Bildlaufanzeigen

Horizontale und vertikale Scroll-Indikatoren teilen sich standardmäßig nicht den „ active “-Zustand untereinander. Um beide Indikatoren beim Scrollen in beide Richtungen sichtbar zu halten, richten Sie eine bidirektionale Bindung zwischen den aktiven Zuständen ein, wie im folgenden Beispiel dargestellt:

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

Nicht angehängte Scroll-Indikatoren

Es ist möglich, eine Instanz von `ScrollIndicator` zu erstellen, ohne die API für angehängte Eigenschaften zu verwenden. Dies ist nützlich, wenn das Verhalten des angehängten Scroll-Indikators nicht ausreicht oder kein „ Flickable “ verwendet wird. Im folgenden Beispiel werden horizontale und vertikale Scroll-Indikatoren verwendet, um anzuzeigen, wie weit der Benutzer über den Text gescrollt hat (unter Verwendung von ` MouseArea ` anstelle von ` 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 }
    }
}

Scroll-Indikator, der eigenständig ohne zugeordnete Eigenschaft verwendet wird

Unterschiedliche Delegate-Größen

Variierende Delegate-Größen können dazu führen, dass der ScrollIndicator „herumspringt“, wenn neue Delegates in die Ansicht geladen werden. Aus diesem Grund wird empfohlen, Delegates gleicher Größe zu verwenden. Weitere Informationen finden Sie unter Variable Delegate Size and Section Labels.

Siehe auch ScrollBar, „Anpassen von ScrollIndicator“ und „Indikator-Steuerelemente“.

Dokumentation zu den Eigenschaften

active : bool

Diese Eigenschaft gilt unabhängig davon, ob der Indikator aktiv ist, d. h. wenn das angehängte „Flickable“ den Status „ moving “ hat.

Es ist möglich, „ both horizontal and vertical indicators visible “ beizubehalten, während in beide Richtungen gescrollt wird.

Diese Eigenschaft wird automatisch gesetzt, wenn die Scroll-Anzeige auf „ attached to a flickable “ steht.

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

Diese Eigenschaft gibt an, ob der Bildlaufbalken horizontal ist.

Diese Eigenschaft wurde in QtQuick.Controls 2.3 (Qt 5.10) eingeführt.

Siehe auch orientation.

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

Diese Eigenschaft gibt die Mindestgröße des Indikators an, skaliert auf 0.0 - 1.0.

Diese Eigenschaft wurde in QtQuick.Controls 2.4 (Qt 5.11) eingeführt.

Siehe auch size, visualSize und visualPosition.

orientation : enumeration

Diese Eigenschaft gibt die Ausrichtung des Indikators an.

Mögliche Werte:

KonstantBeschreibung
Qt.HorizontalHorizontal
Qt.VerticalVertikal (Standard)

Diese Eigenschaft wird automatisch festgelegt, wenn die Bildlaufanzeige auf „ attached to a flickable “ gesetzt ist.

Siehe auch „ horizontal “ und „ vertical “.

position : real

Diese Eigenschaft enthält die Position des Indikators, skaliert auf 0.0 - 1.0.

Diese Eigenschaft wird automatisch festgelegt, wenn der Bildlaufindikator auf „ attached to a flickable “ gesetzt ist.

Siehe auch „ Flickable::visibleArea “ und „ visualPosition “.

size : real

Diese Eigenschaft gibt die Größe des Indikators an, skaliert auf 0.0 - 1.0.

Diese Eigenschaft wird automatisch gesetzt, wenn der Bildlaufindikator auf „ attached to a flickable “ steht.

Siehe auch „ Flickable::visibleArea “, „ minimumSize “ und „ visualSize “.

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

Diese Eigenschaft gibt an, ob der Bildlaufbalken vertikal ist.

Diese Eigenschaft wurde in QtQuick.Controls 2.3 (Qt 5.10) eingeführt.

Siehe auch „ orientation “.

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

Diese Eigenschaft enthält die effektive visuelle Position des Indikators, die durch die Eigenschaft „ minimum size “ begrenzt werden kann.

Diese Eigenschaft wurde in QtQuick.Controls 2.4 (Qt 5.11) eingeführt.

Siehe auch „ position “ und „ minimumSize “.

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

Diese Eigenschaft enthält die effektive visuelle Größe des Indikators, die durch die Eigenschaft „ minimum size “ begrenzt sein kann.

Diese Eigenschaft wurde in QtQuick.Controls 2.4 (Qt 5.11) eingeführt.

Siehe auch „ size “ und „ minimumSize “.

Dokumentation zu den angehängten Eigenschaften

ScrollIndicator.horizontal : ScrollIndicator [attached]

Diese Eigenschaft fügt einem ` Flickable` eine horizontale Bildlaufleiste hinzu.

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

Siehe auch „ Attaching ScrollIndicator to a Flickable “.

ScrollIndicator.vertical : ScrollIndicator [attached]

Diese Eigenschaft fügt einem „ Flickable “ eine vertikale Bildlaufleiste hinzu.

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

Siehe auch „ 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.