Тип 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)
Добавляет элемент в конец представления.
Этот QML-метод был представлен в QtQuick.Controls 1.3.
void removeItem(Элемент item)
Удаляет item из представления.
Этот QML-метод был представлен в QtQuick.Controls 1.4.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-controls-splitview.html