Тип QML ScrollView
Прокручиваемый вид. Подробнее...
| Оператор импорта: | import QtQuick.Controls 2.1 |
| С момента: | Qt 5.9 |
| Наследует: |
Свойства
- 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
}
}
} Примечание: Начиная с 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.1/qml-qtquick-controls2-scrollview.html