ScrollView QML 类型
可滚动的视图。 更多...
导入语句 | import QtQuick.Controls |
继承 |
属性
- contentChildren : list<Item>
- contentData : list<QtObject>
- effectiveScrollBarHeight : real
(since 6.6)
- effectiveScrollBarWidth : real
(since 6.6)
详细说明
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 中只使用单个项目,内容大小将自动根据包含项目的隐式尺寸计算。但是,如果有多个项目使用(或者没有提供隐式尺寸),必须将 contentWidth 和 contentHeight 属性设置为包含项目的组合尺寸。
- 如果内容大小小于或等于 ScrollView 的大小,则不能滚动。
- 如果只想在 ScrollView 中垂直滚动,可以将 contentWidth 绑定到 availableWidth(反之亦然对于 contentHeight)。这将允许内容填充 ScrollView 内部的所有可用空间,考虑到任何填充或滚动条。
滚动条
可以通过使用ScrollBar.horizontal
和ScrollBar.vertical
附加属性来访问和自定义水平和垂直滚动条。以下示例调整了滚动条策略,使水平滚动条始终关闭,而垂直滚动条始终开启。
ScrollView { // ... ScrollBar.horizontal.policy: ScrollBar.AlwaysOff ScrollBar.vertical.policy: ScrollBar.AlwaysOn }
触摸与鼠标交互
在触摸模式下,ScrollView启用快速滚动,并使滚动条不可交互。
当与鼠标设备交互时,快速滚动被禁用,滚动条变为可交互。
可以通过明确将interactive
属性设置为true
或false
,使滚动条在触摸时交互或在触摸设备交互时不可交互。
ScrollView { // ... ScrollBar.horizontal.interactive: true ScrollBar.vertical.interactive: true }
另请参阅ScrollBar、ScrollIndicator、定制ScrollView、容器控件和Qt Quick控件中的焦点管理。
属性文档
此属性包含内容子项的列表。
列表包含了在QML中作为视图子项声明的所有项。
注意:contentChildren
与contentData
不同,不包括非可视化QML对象。
此属性包含内容数据的列表。
列表包含在QML中作为视图子项声明的所有对象。
注意:contentData
与contentChildren
不同,包括非可视化QML对象。
effectiveScrollBarHeight : real |
此属性包含水平滚动条的有效高度。当滚动条策略设置为QQuickScrollBar::AlwaysOff
或滚动条不可见时,该属性为0
。
此属性是在Qt 6.6中引入的。
另请参阅ScrollBar::policy。
effectiveScrollBarWidth : real |
此属性包含垂直滚动条的有效宽度。当滚动条策略设置为QQuickScrollBar::AlwaysOff
或滚动条不可见时,此属性为0
。
此属性是在Qt 6.6中引入的。
另请参阅ScrollBar::policy。
© 2024 Qt公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本文件提供的文档是根据由自由软件基金会发布的GNU自由文档许可版本1.3的条款授予的。Qt及其相关标志是芬兰的Qt公司及其它在世界各地的商标。所有其他商标均为其各自所有者的财产。