ScrollIndicator QML Type
Vertikaler oder horizontaler, nicht interaktiver Bildlaufbalken. Mehr...
| Import Statement: | import QtQuick.Controls |
| Inherits: |
Eigenschaften
- active : bool
- horizontal : bool
(since QtQuick.Controls 2.3 (Qt 5.10)) - minimumSize : real
(since QtQuick.Controls 2.4 (Qt 5.11)) - orientation : enumeration
- position : real
- size : real
- vertical : bool
(since QtQuick.Controls 2.3 (Qt 5.10)) - visualPosition : real
(since QtQuick.Controls 2.4 (Qt 5.11)) - visualSize : real
(since QtQuick.Controls 2.4 (Qt 5.11))
Zugehörige Eigenschaften
- horizontal : ScrollIndicator
- vertical : ScrollIndicator
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 }
}
}
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:
| Konstant | Beschreibung |
|---|---|
Qt.Horizontal | Horizontal |
Qt.Vertical | Vertikal (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.