Тип QML SplitView
Выравнивает элементы с перетаскиваемым разделителем между каждым элементом. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 1.4 |
| С момента: | Qt 5.1 |
| Наследует: |
Свойства
- handleDelegate : Компонент
- orientation : int
- resizing : bool
Методы
- void addItem(Item item)
- void removeItem(Item 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 свойство bool styleData.index | Указывает индекс ручки разделителя. Ручка между первым и вторым элементом получит индекс 0, следующая ручка индекс 1 и т. д. |
| readonly свойство bool styleData.hovered | Ручка находится в состоянии наведения. |
| readonly свойство bool styleData.pressed | Ручка находится в состоянии нажатия. |
| readonly свойство 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/archives/qt-5.11/qml-qtquick-controls-splitview.html