Auf dieser Seite

ScrollView QML Type

Scrollbare Ansicht. Mehr...

Import Statement: import QtQuick.Controls
Inherits:

Pane

Eigenschaften

Ausführliche Beschreibung

ScrollView ermöglicht das Scrollen durch benutzerdefinierte Inhalte. Es kann entweder als Ersatz für einen „ Flickable “ verwendet werden oder zur Erweiterung eines bereits vorhandenen.

Scroll-Ansicht mit scrollbarem Inhalt

Das erste Beispiel veranschaulicht die einfachste Verwendung von ScrollView.

ScrollView {
    width: 200
    height: 200

    Label {
        text: "ABC"
        font.pixelSize: 224
    }
}

Das zweite Beispiel veranschaulicht die Verwendung eines bestehenden „ Flickable “, d. h. eines „ ListView “.

ScrollView {
    width: 200
    height: 200

    ListView {
        model: 20
        delegate: ItemDelegate {
            text: "Item " + index

            required property int index
        }
    }
}

Hinweis: Ab Qt-6.0 schneidet ScrollView seinen Inhalt automatisch zu, wenn Sie kein `Flickable` als untergeordnetes Element verwenden. Wenn dies nicht gewünscht ist, können Sie Ihr eigenes `Flickable` als untergeordnetes Element festlegen und die Eigenschaft ` clip ` des `Flickable` explizit steuern.

Größenanpassung

Wie bei „Flickable“ gibt es bei der Verwendung von „ScrollView“ einige Dinge zu beachten:

  • Wird innerhalb eines ScrollViews nur ein einziges Element verwendet, wird die Inhaltsgröße automatisch auf der Grundlage der impliziten Größe des enthaltenen Elements berechnet. Werden jedoch mehrere Elemente verwendet (oder ist keine implizite Größe angegeben), müssen die Eigenschaften „ contentWidth “ und „ contentHeight “ auf die kombinierte Größe der enthaltenen Elemente gesetzt werden.
  • Ist die Inhaltsgröße kleiner oder gleich der Größe des ScrollView, ist kein Scrollen möglich.
  • Wenn Sie möchten, dass das „ScrollView“ nur vertikal scrollt, können Sie „ contentWidth “ an „ availableWidth “ binden (und umgekehrt für „contentHeight“). Dadurch füllt der Inhalt den gesamten verfügbaren Platz horizontal innerhalb des „ScrollView“ aus, wobei etwaige Abstände oder Bildlaufleisten berücksichtigt werden.

Bildlaufleisten

Auf die horizontalen und vertikalen Bildlaufleisten kann über die angehängten Eigenschaften „ ScrollBar.horizontal “ und „ ScrollBar.vertical “ zugegriffen und diese angepasst werden. Im folgenden Beispiel werden die Bildlaufleisten-Richtlinien so angepasst, dass die horizontale Bildlaufleiste immer deaktiviert und die vertikale Bildlaufleiste immer aktiviert ist.

ScrollView {
    // ...
    ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
    ScrollBar.vertical.policy: ScrollBar.AlwaysOn
}

Touch- vs. Maus-Interaktion

Bei Berührung aktiviert ScrollView das Wischen und deaktiviert die Interaktivität der Bildlaufleisten.

Bei Interaktion mit einem Mausgerät ist das Wischen deaktiviert und die Bildlaufleisten sind interaktiv.

Scrollbalken können bei Touch-Eingabe interaktiv oder bei Interaktion mit einem Mausgerät nicht-interaktiv gemacht werden, indem die Eigenschaft „ interactive “ explizit auf „ true “ bzw. „ false “ gesetzt wird.

ScrollView {
    // ...
    ScrollBar.horizontal.interactive: true
    ScrollBar.vertical.interactive: true
}

Unterschiedliche Delegate-Größen

Variierende Delegate-Größen können dazu führen, dass „ ScrollBar “ „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, ScrollIndicator, „Anpassen von ScrollView, Container-Steuerelementen und Fokusverwaltung“ unter Qt Quick Controls.

Dokumentation zu den Eigenschaften

contentChildren : list<Item>

Diese Eigenschaft enthält die Liste der untergeordneten Elemente.

Die Liste enthält alle Elemente, die in QML als untergeordnete Elemente der Ansicht deklariert wurden.

Hinweis: Im Gegensatz zu „ contentData “ umfasst „ contentChildren “ keine nicht-visuellen QML-Objekte.

Siehe auch „ Item::children “ und „ contentData “.

contentData : list<QtObject> [default]

Diese Eigenschaft enthält die Liste der Inhaltsdaten.

Die Liste enthält alle Objekte, die in QML als untergeordnete Elemente der Ansicht deklariert wurden.

Hinweis: Im Gegensatz zu ` contentChildren` umfasst ` contentData ` auch nicht-visuelle QML-Objekte.

Siehe auch „ Item::data “ und „ contentChildren “.

effectiveScrollBarHeight : real [since 6.6]

Diese Eigenschaft gibt die effektive Höhe der horizontalen Bildlaufleiste an. Wenn die Bildlaufleiste sichtbar ist, entspricht diese Eigenschaft der aktuellen Höhe der Bildlaufleiste. Wenn die Bildlaufleiste nicht sichtbar ist oder ihre Richtlinie auf „ QQuickScrollBar::AlwaysOff “ gesetzt ist, ist diese Eigenschaft „ 0 “.

Diese Eigenschaft wurde in Qt 6.6 eingeführt.

Siehe auch „ ScrollBar::policy “.

effectiveScrollBarWidth : real [since 6.6]

Diese Eigenschaft gibt die effektive Breite der vertikalen Bildlaufleiste an. Wenn die Bildlaufleiste sichtbar ist, entspricht diese Eigenschaft der aktuellen Breite der Bildlaufleiste. Wenn die Bildlaufleiste nicht sichtbar ist oder ihre Richtlinie auf „ QQuickScrollBar::AlwaysOff “ gesetzt ist, lautet diese Eigenschaft „ 0 “.

Diese Eigenschaft wurde in Qt 6.6 eingeführt.

Siehe auch „ ScrollBar::policy “.

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