Тип QML ScrollIndicator
Вертикальная или горизонтальная неинтерактивная полоса прокрутки. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.4 |
| С тех пор как: | Qt 5.7 |
| Наследует: |
Свойства
- active : bool
- horizontal : bool
- minimumSize : real
- orientation : перечисление
- position : real
- size : real
- vertical : bool
- visualPosition : real
- visualSize : real
Прикреплённые свойства
- 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.
[только для чтения] horizontal : bool
Это свойство указывает, является ли полоса прокрутки горизонтальной.
Это свойство было представлено в QtQuick.Controls 2.3 (Qt 5.10).
См. также orientation.
minimumSize : real
Это свойство содержит минимальный размер индикатора, масштабируемый относительно 0.0 - 1.0.
Это свойство было представлено в QtQuick.Controls 2.4 (Qt 5.11).
См. также size, visualSize и visualPosition.
orientation : enumeration
Это свойство содержит ориентацию индикатора.
Возможные значения:
| Константа | Описание |
|---|---|
Qt.Horizontal |
Горизонтальное |
Qt.Vertical |
Вертикальное (по умолчанию) |
Это свойство автоматически устанавливается при прикреплении полосы прокрутки к Flickable.
См. также horizontal и vertical.
position : real
Это свойство содержит положение индикатора, масштабируемое относительно 0.0 - 1.0.
Это свойство автоматически устанавливается при прикреплении полосы прокрутки к Flickable.
См. также Flickable::visibleArea и visualPosition.
size : real
Это свойство содержит размер индикатора, масштабируемый относительно 0.0 - 1.0.
Это свойство автоматически устанавливается при прикреплении полосы прокрутки к Flickable.
См. также Flickable::visibleArea, minimumSize и visualSize.
[только для чтения] vertical : bool
Это свойство указывает, является ли полоса прокрутки вертикальной.
Это свойство было представлено в QtQuick.Controls 2.3 (Qt 5.10).
См. также orientation.
visualPosition : real
Это свойство содержит эффективное визуальное положение индикатора, которое может быть ограничено минимальным размером.
Это свойство было представлено в QtQuick.Controls 2.4 (Qt 5.11).
См. также position и minimumSize.
visualSize : real
Это свойство содержит эффективный визуальный размер индикатора, который может быть ограничен минимальным размером.
Это свойство было представлено в QtQuick.Controls 2.4 (Qt 5.11).
См. также размер и минимальный размер.
Документация присоединённого свойства
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/archives/qt-5.11/qml-qtquick-controls2-scrollindicator.html