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