このページでは

QtShellChrome QML Type

qt-shell 拡張機能と併用するための、デフォルトのウィンドウマネージャ機能を提供します。詳細...

Import Statement: import QtWayland.Compositor.QtShell
Since: Qt 6.3

プロパティ

方法

詳細な説明

QtShellChromeは、qt-shell シェル拡張プロトコルを介したクライアントとのやり取りに、ウィンドウマネージャ機能を付与するために使用できる便利な型です。

関連付けられたQtShellSurface を持つShellSurfaceItem が指定されると、そのアイテムは自動的にサイズを調整してサーフェスに合わせます。また、以下の処理も自動的に行います:

  • 最大化、最小化、全画面表示などのウィンドウの状態。
  • ウィンドウのアクティブ化。
  • リサイズハンドルを使用したウィンドウのサイズ変更(適切なプロパティが設定されている場合)。
  • タイトルバーの操作によるウィンドウの位置変更(titleBar プロパティが設定されている場合)。

QtShellChromeは、QtShell およびQtShellSurface と組み合わせて使用することを想定しています。

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 の上部マージンのサイズを設定します。このマージンはウィンドウの装飾用に確保されます。デフォルトでは、leftResizeHandle とtitleBar の高さが設定されている場合、その合計値になります。それ以外の場合は0になります。

注: このプロパティを明示的に設定すると 、すべてのデフォルトのフレームマージンは、対応するプロパティによって上書きされます。

hasDecorations : bool [read-only]

このプロパティは、QtShellChrome のウィンドウの状態およびウィンドウフラグに基づいて、その装飾を表示すべき場合にtrueとなります。

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 [read-only]

このプロパティは、QtShellChrome のウィンドウフラグを保持します。これらは、関連付けられたQtShellSurface のwindowFlags プロパティと一致しますが、 がQt.Windowに等しい場合は例外です。この場合、代わりに一連のデフォルトのウィンドウフラグが使用されます。 デフォルトのウィンドウフラグは、Qt.Window、Qt.WindowMaximizeButtonHint、Qt.WindowMinimizeButtonHint、および Qt.WindowCloseButtonHint です。

windowState : int [read-only]

このプロパティは、シェルサーフェスのウィンドウ状態を保持します。コンポジター側でウィンドウ状態の要求が行われた際、クライアントがこれを承認する前に、このプロパティは直ちに更新されます。そのため、クライアントが要求を承認した時点で更新されるシェルサーフェスのwindowState プロパティとは、ごく短時間だけ異なる場合があります。

メソッドのドキュメント

void activate()

このウィンドウを手動でアクティブにしてください。これにより、ウィンドウが前面に表示されます。

raise()も参照してください 。

void deactivate()

このウィンドウを手動で非アクティブにします。ウィンドウがアクティブな状態だった場合、代わりにスタック内の次のウィンドウがアクティブになります。

void lower()

このウィンドウを下に下げ、他のウィンドウの下に重ねて表示するようにします(ただし、他のウィンドウのウィンドウフラグでこれが禁止されている場合は除きます)。

void raise()

このウィンドウを、他のウィンドウの上に重なるように表示します(ただし、他のウィンドウのフラグでこれが禁止されている場合は除きます)。

void toggleFullScreen()

フルスクリーンと通常のウィンドウ状態を切り替えます。また、このメソッドは、ウィンドウが最小化または最大化されている場合、その状態を解除します。

void toggleMaximized()

最大化状態と通常状態を切り替えます。また、このメソッドは、ウィンドウが最小化されている場合、その状態を解除します。

void toggleMinimized()

最小化状態と通常状態を切り替えます。また、このメソッドは、ウィンドウが最大化状態になっている場合は、その状態を解除します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.