滚动指示器 QML 类型
垂直或水平非交互式滚动指示器。 更多...
导入语句 | import QtQuick.Controls |
继承 |
属性
- active : bool
- horizontal : bool
(自 QtQuick.Controls 2.3 (Qt 5.10) 开始)
- minimumSize : real
(自 QtQuick.Controls 2.4 (Qt 5.11) 开始)
- orientation : 枚举
- position : real
- size : real
- vertical : bool
(自 QtQuick.Controls 2.3 (Qt 5.10) 开始)
- visualPosition : real
(自 QtQuick.Controls 2.4 (Qt 5.11) 开始)
- visualSize : real
(自 QtQuick.Controls 2.4 (Qt 5.11) 开始)
附加属性
- horizontal : ScrollIndicator
- vertical : ScrollIndicator
详细介绍
ScrollIndicator 是一个非交互式指示器,用于指示当前的滚动位置。滚动指示器可以是垂直或水平,并且可以附加到任何 Flickable,例如 ListView 和 GridView。
Flickable { // ... ScrollIndicator.vertical: ScrollIndicator { } }
将 ScrollIndicator 附加到 Flickable
注意:当 ScrollIndicator 附加到 Flickable 的垂直或水平方向时,其几何形状和以下属性将自动设置和更新
附加的ScrollIndicator会重新绑定自己的父对象为目标Flickable。竖直绑定的ScrollIndicator会调整自己的大小以适应Flickable的高度,并根据布局方向将其定位在其一侧。水平绑定的ScrollIndicator会调整自己以适应Flickable的宽度,并将其定位在底部。可以通过指定附加ScrollIndicator的另一个父对象来禁用自动几何管理。例如,如果ScrollIndicator需要放在剪影Flickable之外,这将是很有用的。下面这个示例展示了这一点。
Flickable { id: flickable clip: true // ... ScrollIndicator.vertical: ScrollIndicator { parent: flickable.parent anchors.top: flickable.top anchors.left: flickable.right anchors.bottom: flickable.bottom } }
绑定水平和垂直ScrollIndicator的活动状态
默认情况下,水平和垂直ScrollIndicator不共享活动状态。为了在滚动任一方向时保持两个指示器都可见,可按照以下示例建立活动状态之间的双向绑定。
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 } }
非附加ScrollIndicator
可以在不使用附加属性API的情况下创建ScrollIndicator实例。这在附加ScrollIndicator的行为不足以满足需求或未使用Flickable时很有用。在以下示例中,使用水平和垂直ScrollIndicator来指示用户已滚动文本的距离(使用MouseArea代替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 } } }
另请参阅ScrollBar、自定义ScrollIndicator和Indicator控件。
属性文档
active : bool |
此属性表示指示器是否活动状态,即附加的Flickable正在移动。
在滚动任一方向时,可以同时保持水平和垂直指示器可见。
在ScrollIndicator附加到firkbable时,此属性会自动设置。
horizontal : bool |
minimumSize : real |
此属性表示指示器的最小尺寸,以比例尺0.0 - 1.0缩放。
该属性自QtQuick.Controls 2.4(Qt 5.11)版本开始引入。
另请参阅size、visualSize和visualPosition。
orientation : enumeration |
此属性表示指示器的方向。
可能的值
常数 | 描述 |
---|---|
Qt.Horizontal | 水平方向 |
Qt.Vertical | 垂直方向(默认) |
在ScrollIndicator附加到firkbable时,此属性会自动设置。
另请参阅horizontal和vertical。
position : real |
此属性表示指示器的位置,以比例尺0.0 - 1.0缩放。
在ScrollIndicator附加到firkbable时,此属性会自动设置。
大小 : 实数 |
此属性表示指标的大小,按比例缩放为 0.0 - 1.0
。
在ScrollIndicator附加到firkbable时,此属性会自动设置。
vertical : 布尔值 |
visualPosition : 实数 |
visualSize : 实数 |
附加属性文档
ScrollIndicator.horizontal : ScrollIndicator |
ScrollIndicator.vertical : ScrollIndicator |
© 2024 The Qt Company Ltd. 本文档中包含的贡献文档的版权归其所有者所有。本文档是在自由软件基金会发布的 GNU 自由文档许可证版本 1.3 条款下提供的。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。