Spec-Zone.ru › Qt

Тип QML ScrollView

Прокручиваемое представление. Подробнее...

Заявление об импорте: import QtQuick.Controls
С момента: Qt 5.9
Наследует:

Pane

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

Свойства

  • contentChildren : список<Элемент>
  • contentData : список<Объект>

Подробное описание

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, ScrollView автоматически обрезает содержимое, если вы не используете Flickable в качестве дочернего элемента. Если этого не требуется, вы можете установить свой собственный Flickable как дочерний элемент и управлять свойством clip на Flickable явно.

Размеры

Как и в 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 Controls.

Документация свойств

contentChildren : список<Элемент>

Это свойство содержит список дочерних элементов содержимого.

Список содержит все элементы, объявленные в QML в качестве дочерних элементов представления.

Примечание: В отличие от contentData, contentChildren не включает невизуальные объекты QML.

См. также Элемент::children и contentData.

[по умолчанию] contentData : список<Объект>

Это свойство содержит список данных содержимого.

Список содержит все объекты, объявленные в QML в качестве дочерних элементов представления.

Примечание: В отличие от contentChildren, contentData включает невизуальные объекты QML.

См. также Элемент::data и contentChildren.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-controls2-scrollview.html

Spec-Zone.ru

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