Тип QML ScrollView
Прокручиваемое представление. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.0 |
| С тех пор: | Qt 5.9 |
| Наследует: |
Свойства
- contentChildren : список<Item>
- 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 : список<Item>
Это свойство содержит список дочерних элементов содержимого.
Список содержит все элементы, объявленные в QML в качестве дочерних элементов представления.
Примечание: В отличие от contentData, contentChildren не включает невизуальные объекты QML.
См. также Item::children и contentData.
[по умолчанию] contentData : список<Объект>
Это свойство содержит список данных содержимого.
Список содержит все объекты, объявленные в QML в качестве дочерних элементов представления.
Примечание: В отличие от contentChildren, contentData включает невизуальные объекты QML.
См. также Item::data и contentChildren.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick-controls2-scrollview.html