Spec-Zone.ru › Qt

Тип QML ScrollIndicator

Вертикальный или горизонтальный неинтерактивный индикатор прокрутки. Подробнее...

Оператор импорта: import QtQuick.Controls
С тех пор: Qt 5.7
Наследует:

Control

  • Список всех членов, включая унаследованные

Свойства

  • 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, его геометрия и следующие свойства автоматически устанавливаются и обновляются соответственно:

  • orientation
  • position
  • size
  • active

Присоединённый 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.

[только для чтения, начиная с QtQuick.Controls 2.3 (Qt 5.10)] horizontal : bool

Это свойство определяет, является ли индикатор прокрутки горизонтальным.

Это свойство было введено в QtQuick.Controls 2.3 (Qt 5.10).

См. также orientation.

[начиная с QtQuick.Controls 2.4 (Qt 5.11)] 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.

[только для чтения, начиная с QtQuick.Controls 2.3 (Qt 5.10)] vertical : bool

Это свойство определяет, является ли индикатор прокрутки вертикальным.

Это свойство было введено в QtQuick.Controls 2.3 (Qt 5.10).

См. также orientation.

[начиная с QtQuick.Controls 2.4 (Qt 5.11)] visualPosition : real

Это свойство содержит эффективную визуальную позицию индикатора, которая может быть ограничена минимальным размером.

Это свойство было введено в QtQuick.Controls 2.4 (Qt 5.11).

См. также position и minimumSize.

[начиная с QtQuick.Controls 2.4 (Qt 5.11)] visualSize : real

Это свойство содержит эффективный визуальный размер индикатора, который может быть ограничен минимальным размером.

Это свойство было введено в QtQuick.Controls 2.4 (Qt 5.11).

См. также size и minimumSize.

Документация по присоединенным свойствам

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-6.2/qml-qtquick-controls2-scrollindicator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API