Тип QML ScrollView
Прокручиваемое представление. Подробнее...
| Заявление об импорте: | import QtQuick.Controls |
| С момента: | 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
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