抽屉 QML 类型
可使用滑动手势打开和关闭的侧面板。 更多...
导入语句 | import QtQuick.Controls |
继承 |
属性
- dragMargin : float
- edge : 枚举类型
- interactive : bool
(自 QtQuick.Controls 2.2 (Qt 5.9) 起可用)
- position : float
详细描述
抽屉提供了一种基于滑动的侧面板,类似于经常在触摸界面中使用的侧面板,用于提供导航的中央位置。
抽屉可以放置在内容项的四条边中的任何一条。上面的抽屉放置在窗口的左侧边缘。随后通过 "拉动" 拉出窗口的左侧边缘来打开抽屉。
import QtQuick import QtQuick.Controls ApplicationWindow { id: window visible: true Drawer { id: drawer width: 0.66 * window.width height: window.height Label { text: "Content goes here!" anchors.centerIn: parent } } }
抽屉是一种特殊类型的弹出窗口,位于窗口 边缘 之一。默认情况下,抽屉会将其自身重新设置为窗口 overlay
,因此它在窗口坐标上操作。还可以手动设置 父项 以使抽屉在特定的坐标空间中操作。
抽屉可以配置为仅覆盖其窗口边缘的一部分。以下示例说明了如何将抽屉定位在窗口标题下方
import QtQuick import QtQuick.Controls ApplicationWindow { id: window visible: true header: ToolBar { } Drawer { y: header.height width: window.width * 0.6 height: window.height - header.height } }
属性 position 决定了抽屉的可见部分,该值介于 0.0
和 1.0
之间。不可能设置位于左侧或右侧窗口边缘的抽屉的 x 坐标(或水平外边距),或者位于顶部或底部窗口边缘的抽屉的 y 坐标(或垂直外边距)。
在上面的图像中,应用程序的内容是 "推" 过屏幕。这是通过将平移应用到内容上实现的。
import QtQuick import QtQuick.Controls 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 } } }
如果您希望在打开抽屉时将应用程序的内容保持在原地,请勿应用平移。
可以将抽屉配置为不可关闭的持久侧面板,方法是使抽屉 非模态 和 非交互式。有关更多详细信息,请参阅 图库 示例。
注意: 在某些平台上,某些边缘可能已被保留用于系统手势,因此不能与抽屉一起使用。例如,在 Android 和 iOS 上,顶部和底部边缘可能已被保留用于系统通知和控制中心。
另请参阅 SwipeView,自定义抽屉,导航控件 和 弹出控件。
属性文档
dragMargin : real |
edge : enumeration |
该属性存储抽屉从哪个窗口边缘打开的位置。可接受的值有
常量 | 描述 |
---|---|
Qt.TopEdge | 窗口的顶部边缘。 |
Qt.LeftEdge | 窗口的左侧边缘(默认)。 |
Qt.RightEdge | 窗口的右侧边缘。 |
Qt.BottomEdge | 窗口的底部边缘。 |
interactive : bool |
position : real |
此属性存储抽屉相对于其最终目的位置的值。换句话说,当抽屉完全关闭时,位置为 0.0
,当完全打开时,位置为 1.0
。
© 2024 The Qt Company Ltd. 本文档中包含的贡献的文档版权属于其各自的拥有者。所提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相应商标是 The Qt Company Ltd. 在芬兰和/或世界其他国家的商标。所有其他商标都是其各自所有者的财产。