ScrollView QML 类型

可滚动的视图。 更多...

导入语句import QtQuick.Controls
继承

Pane

属性

详细说明

ScrollView 提供用户定义内容的滚动功能。它可以用来替换一个 Flickable,或者装饰现有的一个。

第一个例子演示了 ScrollView 的最简单用法。

ScrollView {
    width: 200
    height: 200

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

第二个例子说明了如何使用现有的 Flickable,即 ListView

ScrollView {
    width: 200
    height: 200

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

            required property int index
        }
    }
}

注意:从 Qt-6.0 开始,如果不用 Flickable 作为子项,ScrollView 会自动剪辑其内容。如果不希望这样做,可以设置自己的 Flickable 作为子项,并显式控制 Flickable 上的 clip 属性。

尺寸

与 Flickable 一样,使用 ScrollView 时需要注意以下几点

  • 如果在一个 ScrollView 中只使用单个项目,内容大小将自动根据包含项目的隐式尺寸计算。但是,如果有多个项目使用(或者没有提供隐式尺寸),必须将 contentWidthcontentHeight 属性设置为包含项目的组合尺寸。
  • 如果内容大小小于或等于 ScrollView 的大小,则不能滚动。
  • 如果只想在 ScrollView 中垂直滚动,可以将 contentWidth 绑定到 availableWidth(反之亦然对于 contentHeight)。这将允许内容填充 ScrollView 内部的所有可用空间,考虑到任何填充或滚动条。

滚动条

可以通过使用ScrollBar.horizontalScrollBar.vertical附加属性来访问和自定义水平和垂直滚动条。以下示例调整了滚动条策略,使水平滚动条始终关闭,而垂直滚动条始终开启。

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

触摸与鼠标交互

在触摸模式下,ScrollView启用快速滚动,并使滚动条不可交互。

当与鼠标设备交互时,快速滚动被禁用,滚动条变为可交互。

可以通过明确将interactive属性设置为truefalse,使滚动条在触摸时交互或在触摸设备交互时不可交互。

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

另请参阅ScrollBarScrollIndicator定制ScrollView容器控件Qt Quick控件中的焦点管理

属性文档

contentChildren : list<Item>

此属性包含内容子项的列表。

列表包含了在QML中作为视图子项声明的所有项。

注意:contentChildrencontentData不同,不包括非可视化QML对象。

另请参阅Item::childrencontentData


contentData : list<QtObject> [默认]

此属性包含内容数据的列表。

列表包含在QML中作为视图子项声明的所有对象。

注意:contentDatacontentChildren不同,包括非可视化QML对象。

另请参阅Item::datacontentChildren


effectiveScrollBarHeight : real [since 6.6]

此属性包含水平滚动条的有效高度。当滚动条策略设置为QQuickScrollBar::AlwaysOff或滚动条不可见时,该属性为0

此属性是在Qt 6.6中引入的。

另请参阅ScrollBar::policy


effectiveScrollBarWidth : real [since 6.6]

此属性包含垂直滚动条的有效宽度。当滚动条策略设置为QQuickScrollBar::AlwaysOff或滚动条不可见时,此属性为0

此属性是在Qt 6.6中引入的。

另请参阅ScrollBar::policy


© 2024 Qt公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本文件提供的文档是根据由自由软件基金会发布的GNU自由文档许可版本1.3的条款授予的。Qt及其相关标志是芬兰的Qt公司及其它在世界各地的商标。所有其他商标均为其各自所有者的财产。