Тип QML ScrollIndicator
Вертикальный или горизонтальный неинтерактивный индикатор прокрутки. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.2 |
| С момента: | Qt 5.7 |
| Наследует: |
Свойства
- active : bool
- orientation : перечисление
- position : вещественное число
- size : вещественное число
Присоединенные свойства
- 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
}
} Связывание активного состояния горизонтальных и вертикальных индикаторов прокрутки
Горизонтальные и вертикальные индикаторы прокрутки по умолчанию не делят состояние active друг с другом. Чтобы сохранить оба индикатора видимыми во время прокрутки в любом направлении, установите двустороннюю привязку между активными состояниями, как показано в следующем примере:
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 присоединенных свойств. Это полезно, когда поведение присоединённого индикатора прокрутки недостаточно или Flickable не используется. В следующем примере используются горизонтальный и вертикальный индикаторы прокрутки, чтобы показать, насколько пользователь прокрутил текст (с помощью 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 и Индикаторы управления.
Документация по свойствам
active : bool
Это свойство указывает, активен ли индикатор, то есть когда присоединённый Flickable движется.
Возможна одновременная видимость горизонтального и вертикального индикаторов во время прокрутки в любом направлении.
Это свойство автоматически устанавливается, когда индикатор прокрутки присоединён к flickable.
orientation : перечисление
Это свойство содержит ориентацию индикатора.
Возможные значения:
| Константа | Описание |
|---|---|
Qt.Horizontal |
Горизонтальный |
Qt.Vertical |
Вертикальный (по умолчанию) |
Это свойство автоматически устанавливается, когда индикатор прокрутки присоединён к flickable.
position : вещественное число
Это свойство содержит позицию индикатора, масштабированную к 0.0 - 1.0.
Это свойство автоматически устанавливается, когда индикатор прокрутки присоединён к flickable.
См. также Flickable::visibleArea.
size : вещественное число
Это свойство содержит размер индикатора, масштабированный к 0.0 - 1.0.
Это свойство автоматически устанавливается, когда индикатор прокрутки присоединён к flickable.
См. также Flickable::visibleArea.
Документация по присоединённым свойствам
ScrollIndicator.horizontal : ScrollIndicator
Это свойство присоединяет горизонтальный индикатор прокрутки к Flickable.
Flickable {
contentWidth: 2000
ScrollIndicator.horizontal: ScrollIndicator { }
} См. также Присоединение ScrollIndicator к Flickable.
ScrollIndicator.vertical : ScrollIndicator
Это свойство присоединяет вертикальный индикатор прокрутки к Flickable.
Flickable {
contentHeight: 2000
ScrollIndicator.vertical: ScrollIndicator { }
} См. также Присоединение ScrollIndicator к Flickable.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-controls2-scrollindicator.html