Тип SplitView QML
Выравнивает элементы с перетаскиваемым разделителем между каждым элементом. Подробнее...
| Оператор импорта: | import QtQuick.Controls 1.4 |
| С: | Qt 5.1 |
| Наследует: |
Свойства
- handleDelegate : Компонент
- orientation : int
- resizing : bool
Методы
- void addItem(Элемент item)
- void removeItem(Элемент item)
Подробное описание
SplitView — это элемент управления, который выравнивает элементы горизонтально или вертикально с перетаскиваемым разделителем между каждым элементом.
В SplitView всегда будет один (и только один) элемент, у которого свойство Layout.fillWidth установлено в true (или Layout.fillHeight, если orientation равен Qt.Vertical). Это означает, что элемент получит все оставшееся пространство после выравнивания других элементов. По умолчанию это последнее видимое дочернее поле SplitView, но это можно изменить, явно установив fillWidth в true для другого элемента.
Так как размер элемента с fillWidth автоматически изменяется, чтобы заполнить оставшееся пространство, явные присваивания его свойств width и height будут игнорироваться (но Layout.minimumWidth и Layout.maximumWidth будут по-прежнему учитываться). Начальные размеры других элементов должны быть заданы через их свойства width и height. Любое привязанное назначение ширины или высоты элемента будет прервано, как только пользователь перетащит ручку разделителя этого элемента.
Ручка может относиться к элементу либо слева или сверху, либо справа или снизу:
- Если элемент с fillWidth находится справа: ручка относится к левому элементу.
- Если элемент с fillWidth находится слева: ручка относится к правому элементу.
Это опять же определяет, какой элемент будет изменён в размерах, когда пользователь перетаскивает ручку, и какая ручка будет скрыта, когда элементу сказано скрыться.
SplitView поддерживает установку присоединённых свойств Layout для дочерних элементов, что означает, что вы можете установить следующие присоединённые свойства для каждого дочернего элемента:
- Layout.minimumWidth
- Layout.minimumHeight
- Layout.maximumWidth
- Layout.maximumHeight
-
Layout.fillWidth (
trueдля одного дочернего элемента) -
Layout.fillHeight (
trueдля одного дочернего элемента)
Примечание: импортируйте QtQuick.Layouts 1.0 в свой файл QML, чтобы использовать присоединённые свойства Layout внутри SplitView.
Пример:
Для создания SplitView с тремя элементами и размещения центрального элемента в оставшемся пространстве, можно сделать следующее:
SplitView {
anchors.fill: parent
orientation: Qt.Horizontal
Rectangle {
width: 200
Layout.maximumWidth: 400
color: "lightblue"
Text {
text: "View 1"
anchors.centerIn: parent
}
}
Rectangle {
id: centerItem
Layout.minimumWidth: 50
Layout.fillWidth: true
color: "lightgray"
Text {
text: "View 2"
anchors.centerIn: parent
}
}
Rectangle {
width: 200
color: "lightgreen"
Text {
text: "View 3"
anchors.centerIn: parent
}
}
} Документация свойств
handleDelegate : Компонент
Это свойство содержит делегат, который будет создан между каждым дочерним элементом. Внутри делегата доступны следующие свойства:
| readonly property bool styleData.index | Указывает индекс ручки разделителя. Ручка между первым и вторым элементом получит индекс 0, следующая ручка — индекс 1 и т. д. |
| readonly property bool styleData.hovered | Ручка находится под курсором. |
| readonly property bool styleData.pressed | Ручка нажата. |
| readonly property bool styleData.resizing | Ручка перетаскивается. |
orientation : int
Это свойство содержит ориентацию SplitView. Значение может быть либо Qt.Horizontal либо Qt.Vertical. Значение по умолчанию — Qt.Horizontal.
resizing : bool
Это свойство равно true когда пользователь изменяет размер одного из элементов, перетаскивая ручку разделителя.
Документация методов
void addItem(Элемент item)
Добавить элемент в конец представления.
Этот метод был добавлен в QtQuick.Controls 1.3.
void removeItem(Элемент item)
Удалить item из представления.
Этот метод был добавлен в QtQuick.Controls 1.4.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-controls-splitview.html