QtShellChrome QML 类型
为与 qt-shell
扩展一起使用提供默认窗口管理器功能。 更多...
导入声明 | import QtWayland.Compositor.QtShell |
自 | Qt 6.3 |
属性
- bottomLeftResizeHandle : Item
- bottomResizeHandle : Item
- bottomRightResizeHandle : Item
- frameMarginBottom : int
- frameMarginLeft : int
- frameMarginRight : int
- frameMarginTop : int
- hasDecorations : bool
- leftResizeHandle : Item
- maximizedRect : rect
- rightResizeHandle : Item
- shellSurfaceItem : ShellSurfaceItem
- titleBar : Item
- topLeftResizeHandle : Item
- topResizeHandle : Item
- topRightResizeHandle : Item
- windowFlags : int
- windowState : int
方法
- void activate()
- void deactivate()
- void lower()
- void raise()
- void toggleFullScreen()
- void toggleMaximized()
- void toggleMinimized()
详细说明
QtShellChrome 是一个便捷类型,可用于通过 qt-shell
shell 扩展协议与客户端交互时提供窗口管理器功能。
给定一个与ShellSurfaceItem相关联的QtShellSurface,该组件将自动调整其大小以匹配表面尺寸。同时,它还会提供处理以下自动功能:
- 窗口状态,例如最大化、最小化和全屏。
- 窗口激活。
- 使用调整手柄的窗口调整大小(如果设置了适当的属性)。
- 使用标题栏交互重新定位窗口(如果设置了titleBar属性)。
QtShellChrome旨在与QtShell和QtShellSurface一起使用。
属性文档
bottomLeftResizeHandle : Item |
此属性保存QtShellChrome的默认左下角调整大小手柄。如果设置,将在调整大小手柄上安装一个DragHandler,通过移动底部和左边缘等量调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: blrh anchors.bottom: parent.bottom anchors.left: parent.left height: 5 width: 5 color: "white" } bottomLeftResizeHandle: blrh }
bottomResizeHandle : Item |
此属性保存QtShellChrome的默认底部调整大小手柄。如果设置,将在调整大小手柄上安装一个DragHandler,通过移动底部边缘调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: brh anchors.bottom: parent.bottom anchors.left: parent.left anchors.right: parent.right height: 5 color: "white" } bottomResizeHandle: brh }
注意:除非显式设置了框架边距,否则手柄的高度将包含在窗口的底部框架边距中。
bottomRightResizeHandle : Item |
此属性保存QtShellChrome的默认右下角调整大小手柄。如果设置,将在调整大小手柄上安装一个DragHandler,通过移动底部和右边缘等量调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: brrh anchors.bottom: parent.bottom anchors.right: parent.right height: 5 width: 5 color: "white" } bottomRightResizeHandle: brrh }
frameMarginBottom : int |
设置QtShellChrome底部边距的大小,这部分空间用于窗口装饰。默认情况下,如果设置了bottomResizeHandle,这将与手柄的高度相等。否则,它将是0。
注意:通过显式设置此属性,所有默认框架边距都将被相应的属性覆盖。
frameMarginLeft : int |
设置QtShellChrome左侧边距的大小,这部分空间用于窗口装饰。默认情况下,如果设置了leftResizeHandle,这将与手柄的宽度相等。否则,它将是0。
注意:通过显式设置此属性,所有默认框架边距都将被相应的属性覆盖。
frameMarginRight : int |
设置QtShellChrome右侧边距的大小,这部分空间用于窗口装饰。默认情况下,如果设置了rightResizeHandle,这将与手柄的宽度相等。否则,它将是0。
注意:通过显式设置此属性,所有默认框架边距都将被相应的属性覆盖。
frameMarginTop : int |
设置用于窗口装饰的 QtShellChrome 的顶部边距大小。默认情况下,这将等于 leftResizeHandle 和 titleBar 高度的总和(如果被设置)。否则将是 0。
注意:通过显式设置此属性,所有默认框架边距都将被相应的属性覆盖。
hasDecorations : bool |
如果根据其窗口状态和窗口标志,QtShellChrome 的装饰应该可见,则此属性为真。
leftResizeHandle : Item |
此属性包含 QtShellChrome 的默认左侧调整大小手柄。如果设置,将在调整大小手柄上安装一个 DragHandler,通过移动其左侧来调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: lrh anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom width: 5 color: "white" } leftResizeHandle: lrh }
注意:除非显式设置框架边距,否则手柄的宽度将包含在窗口的左侧框架边距中。
maximizedRect : rect |
此属性包含在最大化状态下可用于填充窗口的 WaylandOutput 区域。默认情况下,当窗口最大化时,窗口将填充 WaylandOutput 的整个几何形状。更改它可能在例如,当合成器具有不应被最大化应用程序遮挡的其他系统 UI 时很有用,例如任务栏。
rightResizeHandle : Item |
此属性包含 QtShellChrome 的默认右侧调整大小手柄。如果设置,将在调整大小手柄上安装一个 DragHandler,通过移动其右侧来调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: rrh anchors.right: parent.right anchors.top: parent.top anchors.bottom: parent.bottom width: 5 color: "white" } rightResizeHandle: rrh }
注意:除非显式设置框架边距,否则手柄的宽度将包含在窗口的右侧框架边距中。
shellSurfaceItem : ShellSurfaceItem |
此属性包含与此 QtShellChrome 相关的壳面项。它将进而管理此项的 shellSurface
。项的 shellSurface
是期望为 QtShellSurface 类型的。
QtShellChrome { id: chrome ShellSurfaceItem { id: sfi anchors.fill: parent moveItem: chrome } shellSurfaceItem: sfi }
titleBar : Item |
此属性包含 QtShellChrome 的默认标题栏项。如果设置,将在标题栏上安装一个 DragHandler,通过用户交互来移动窗口。此外,如果单击标题栏,窗口将自动激活。
根据窗口标志和窗口的全屏状态,标题栏将自动隐藏和显示。
QtShellChrome { Rectangle { id: tb anchors.top: parent.top anchors.right: parent.right anchors.left: parent.left height: 50 color: "black" Text { color: "white" anchors.centerIn: parent text: shellSurfaceItem.shellSurface.windowTitle font.pixelSize: 25 } } titleBar: tb }
注意:除非显式设置框架边距,否则标题栏的高度将包含在窗口的顶部框架边距中。
topLeftResizeHandle : Item |
此属性包含 QtShellChrome 的默认右上角调整大小手柄。如果设置,将在调整大小手柄上安装一个 DragHandler,通过以相同数量移动其顶部和左侧边缘来调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: tlrh anchors.top: parent.top anchors.left: parent.left height: 5 width: 5 color: "white" } topLeftResizeHandle: tlrh }
topResizeHandle : Item |
此属性包含 QtShellChrome 的默认顶部调整大小手柄。如果设置,将在调整大小手柄上安装一个 DragHandler,通过移动其顶部边缘来调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: trh anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right height: 5 color: "white" } topResizeHandle: trh }
注意:除非显式设置了框架边距,否则手柄的高度将包含在窗口的顶部框架边距中。
topRightResizeHandle : Item |
此属性持有 QtShellChrome 的默认右上角调整大小手柄。如果设置此属性,则会在调整大小手柄上安装一个 DragHandler,通过上下左右等量移动来调整窗口大小。
手柄将根据窗口标志和窗口的全屏状态自动隐藏和显示。
QtShellChrome { Rectangle { id: trrh anchors.top: parent.top anchors.right: parent.right height: 5 width: 5 color: "white" } topRightResizeHandle: trrh }
windowFlags : int |
此属性持有 QtShellChrome 的窗口标志。它们将匹配相关 QtShellSurface 的 windowFlags
属性,除非此属性等于 Qt.Window。在这种情况下,将使用一组默认窗口标志。默认窗口标志为 Qt.Window、Qt.WindowMaximizeButtonHint、Qt.WindowMinimizeButtonHint 和 Qt.WindowCloseButtonHint。
windowState : int |
此属性持有壳表面的窗口状态。在客户端确认此请求之前,当在合成器端请求窗口状态时,它将立即更新。因此,在短时间内,它可能与壳表面的 windowState
属性不同,该属性将在客户端确认请求后更新。
方法文档
void activate() |
手动激活此窗口。这将也会提升窗口。
另请参阅提升。
void deactivate() |
手动停用此窗口。如果窗口处于活动状态,则将激活在堆栈中的下一个窗口。
void lower() |
降低此窗口,使其堆叠在其他窗口之下(除非其他窗口的窗口标志禁止这样做。)
void raise() |
提升此窗口,使其堆叠在其他窗口之上(除非其他窗口的标志禁止这样做。)
void toggleFullScreen() |
在全屏和正常窗口状态之间切换。此方法也将清除已设置的最小化或最大化窗口状态。
void toggleMaximized() |
在最大化状态和正常状态之间切换。如果设置此方法,将清除最小化的窗口状态。
void toggleMinimized() |
在最小化和正常状态之间切换。如果设置此方法,将清除最大化的窗口状态。
© 2024 The Qt Company Ltd. 本文档贡献的版权归各自所有者所有。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可版本 1.3 的条款许可的。Qt 及相关标志是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为各自所有者的财产。