QtShellChrome QML 类型

为与 qt-shell 扩展一起使用提供默认窗口管理器功能。 更多...

导入声明import QtWayland.Compositor.QtShell
Qt 6.3

属性

方法

详细说明

QtShellChrome 是一个便捷类型,可用于通过 qt-shell shell 扩展协议与客户端交互时提供窗口管理器功能。

给定一个与ShellSurfaceItem相关联的QtShellSurface,该组件将自动调整其大小以匹配表面尺寸。同时,它还会提供处理以下自动功能:

  • 窗口状态,例如最大化、最小化和全屏。
  • 窗口激活。
  • 使用调整手柄的窗口调整大小(如果设置了适当的属性)。
  • 使用标题栏交互重新定位窗口(如果设置了titleBar属性)。

QtShellChrome旨在与QtShellQtShellSurface一起使用。

另见QtShell Compositor

属性文档

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 的顶部边距大小。默认情况下,这将等于 leftResizeHandletitleBar 高度的总和(如果被设置)。否则将是 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 的窗口标志。它们将匹配相关 QtShellSurfacewindowFlags 属性,除非此属性等于 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. 在芬兰和其他国家/地区的商标。所有其他商标均为各自所有者的财产。