Тип QML ScrollView
Прокручиваемый вид. Подробнее...
| Заявление импорта: | import QtQuick.Controls 2.5 |
| С момента: | Qt 5.9 |
| Наследует: |
Свойства
- contentChildren : список<Элемент>
- contentData : список<Объект>
Подробное описание
ScrollView обеспечивает прокрутку для пользовательского содержимого. Он может быть использован для замены Flickable или для оформления уже существующего.
Первый пример демонстрирует самое простое использование ScrollView.
ScrollView {
width: 200
height: 200
clip: true
Label {
text: "ABC"
font.pixelSize: 224
}
} Примечание: ScrollView не автоматически обрезает своё содержимое. Если он не используется как элемент на весь экран, вы должны рассмотреть возможность установки свойства clip в true, как показано выше.
Второй пример иллюстрирует использование существующего Flickable, то есть ListView.
ScrollView {
width: 200
height: 200
ListView {
model: 20
delegate: ItemDelegate {
text: "Item " + index
}
}
} Изменение размеров
Как и в случае с Flickable, при использовании ScrollView следует учитывать несколько моментов:
- Если используется только один элемент внутри ScrollView, размер содержимого автоматически рассчитывается на основе неявного размера содержащегося элемента. Однако, если используется более одного элемента (или не предоставлен неявный размер), свойства contentWidth и 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 2.
Документация по свойствам
contentChildren : список<Элемент>
Это свойство содержит список дочерних элементов содержимого.
Список содержит все элементы, которые были объявлены в 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-5.13/qml-qtquick-controls2-scrollview.html