Тип QML Drawer
Боковая панель, которая может открываться и закрываться с помощью жеста свайпа. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.5 |
| С: | Qt 5.7 |
| Наследует: |
Свойства
- dragMargin : real
- edge : перечисление
- interactive : bool
- position : real
Подробное описание
Drawer предоставляет боковую панель на основе свайпа, подобную тем, которые часто используются в сенсорных интерфейсах, чтобы предоставить центральное место для навигации.
Drawer может быть размещен на любом из четырех краев элемента содержимого. Drawer выше размещен по левому краю окна. Drawer открывается путем «перетаскивания» его от левого края окна.
import QtQuick 2.13
import QtQuick.Controls 2.13
ApplicationWindow {
id: window
visible: true
Drawer {
id: drawer
width: 0.66 * window.width
height: window.height
Label {
text: "Content goes here!"
anchors.centerIn: parent
}
}
} Drawer — это специальный тип popup, который находится на одном из краев окна краев. По умолчанию Drawer переопределяет свое родительское окно на окно overlay, и поэтому работает с координатами окна. Также можно вручную установить parent на что-то другое, чтобы сделать Drawer работающим в определенном пространстве координат.
Drawer можно настроить для отображения только части своего края окна. Следующий пример иллюстрирует, как Drawer можно разместить, чтобы он отображался под заголовком окна:
import QtQuick 2.13
import QtQuick.Controls 2.13
ApplicationWindow {
id: window
visible: true
header: ToolBar { }
Drawer {
y: header.height
width: window.width * 0.6
height: window.height - header.height
}
} Свойство position определяет, сколько Drawer отображается, как значение между 0.0 и 1.0. Невозможно установить координату x (или горизонтальные отступы) Drawer на левом или правом краю окна или координату y (или вертикальные отступы) Drawer на верхнем или нижнем краю окна.
На изображении выше содержимое приложения «сдвигается» по экрану. Это достигается путем применения преобразования содержимому:
import QtQuick 2.13
import QtQuick.Controls 2.13
ApplicationWindow {
id: window
width: 200
height: 228
visible: true
Drawer {
id: drawer
width: 0.66 * window.width
height: window.height
}
Label {
id: content
text: "Aa"
font.pixelSize: 96
anchors.fill: parent
verticalAlignment: Label.AlignVCenter
horizontalAlignment: Label.AlignHCenter
transform: Translate {
x: drawer.position * content.width * 0.33
}
}
} Если вы хотите, чтобы содержимое приложения оставалось на месте при открытии Drawer, не применяйте преобразование.
Drawer можно настроить как не закрываемую постоянную боковую панель, сделав Drawer немодальным и неинтерактивным. Для получения более подробной информации см. пример Боковая панель.
Примечание: На некоторых платформах определенные края могут быть зарезервированы для системных жестов и поэтому не могут использоваться с Drawer. Например, верхний и нижний края могут быть зарезервированы для системных уведомлений и центров управления на Android и iOS.
См. также SwipeView, Настройка Drawer, Управляющие элементы навигации и Управляющие элементы popup.
Документация по свойствам
dragMargin : real
Это свойство содержит расстояние от края экрана, в пределах которого действия перетаскивания будут открывать Drawer. Установка значения в 0 или меньше предотвращает открытие Drawer путем перетаскивания.
Значение по умолчанию — Qt.styleHints.startDragDistance.
См. также interactive.
edge : перечисление
Это свойство содержит край окна, с которого Drawer откроется. Допустимые значения:
| Постоянная | Описание |
|---|---|
Qt.TopEdge |
Верхний край окна. |
Qt.LeftEdge |
Левый край окна (по умолчанию). |
Qt.RightEdge |
Правый край окна. |
Qt.BottomEdge |
Нижний край окна. |
interactive : bool
Это свойство содержит, является ли Drawer интерактивным. Неинтерактивный Drawer не реагирует на свайпы.
Значение по умолчанию — true.
Это свойство было введено в QtQuick.Controls 2.2 (Qt 5.9).
См. также dragMargin.
position : real
Это свойство содержит положение Drawer относительно его конечного пункта назначения. То есть position будет 0.0 при полностью закрытом Drawer и 1.0 при полностью открытом Drawer.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-controls2-drawer.html