このページでは

コンテナとウィンドウのスタイル設定

このページは「ウィジェットスタイルリファレンス」の一部です。要素ツリー、スクリーンショット、および表に関する説明については、当該ページを参照してください。すべてのウィジェットが設定する共通の状態フラグおよびメンバーについては、「スタイルによるウィジェットの描画方法」に記載されています。

タブウィジェットとタブバー

QTabBar は、スタイルを通じてタブを描画します。タブバーは、QTabWidget の一部であるか、スタンドアロン型です。スタンドアロン型のバーは、独自のベースラインを描画します。タブウィジェットでは、ウィジェットがペインの周囲のフレームを描画し、その上にバーが配置されます。

QTabWidget PE_FrameTabWidget を を使用して描画します。スタイルに対して、タブバー、ペイン、コンテンツ、およびコーナーウィジェットをどこに配置するかを、 、 、 、 、 で問い合わせ、 によってバーとペインを重ね合わせます。QStyleOptionTabWidgetFrame SE_TabWidgetTabPane SE_TabWidgetTabContents SE_TabWidgetTabBar SE_TabWidgetLeftCorner SE_TabWidgetRightCorner PM_TabBarBaseOverlap

QTabBar タブのレイアウトはバー側で処理されるため、スタイルではタブの配置を制御できません。レイアウト処理中、バーはCT_TabBarTab を要求します。これには、ラベル周囲の余白であるPM_TabBarTabHSpace とPM_TabBarTabVSpace が含まれます。その後、各タブをCE_TabBarTab とQStyleOptionTab で描画します。選択されたタブは最後に描画されるため、スタイルによって隣接するタブの上に重ねて描画することが可能です。

  • PE_FrameTabBarBase (PM_TabBarBaseHeight,PM_TabBarBaseOverlap) は、独立したバーの場合で、QStyleOptionTabBarBase
  • CE_TabBarTab、タブごとに1回
    • CE_TabBarTabShape (PM_TabBarTabOverlap)
    • CE_TabBarTabLabel (SE_TabBarTabText,SE_TabBarTabLeftButton,SE_TabBarTabRightButton,PM_TabBarTabShiftHorizontal,PM_TabBarTabShiftVertical,PM_TabBarIconSize)
  • PE_IndicatorTabClose、閉じ可能なタブの閉じるボタンによって描画されるもの(SH_TabBar_CloseButtonPosition 、PM_TabCloseIndicatorWidth 、PM_TabCloseIndicatorHeight )
  • PE_IndicatorTabTearLeft およびPE_IndicatorTabTearRight では、タブがスクロールボタンによって切り取られています(SE_TabBarTearIndicatorLeft 、SE_TabBarTearIndicatorRight )

タブが画面に収まらない際に表示されるスクロールボタンはtool buttons です。このスタイルでは、SE_TabBarScrollLeftButton およびSE_TabBarScrollRightButton を使用して配置し、PM_TabBarScrollButtonWidth を使用してサイズを指定しています。また、このバーはSH_TabBar_Alignment 、SH_TabBar_ElideMode 、およびSH_TabBar_PreferNoArrows も参照しています。

3つのタブとコーナーボタンを備えたタブウィジェット。ペイン、コンテンツ、タブバー、コーナー、タブ、およびタブラベルの各矩形に外枠が引かれている

QTabBar 各タブに対して、以下の状態フラグを設定します:

状態設定条件
State_Sunkenタブが押されたとき。
State_Selectedそのタブが現在のタブであるとき。
State_HasFocusタブバーにフォーカスがあり、そのタブが選択されているとき。
State_MouseOverマウスがタブの上にホバーしているとき。

タブバーが有効になっている場合でも、個々のタブを無効にすることができます。タブバーがアクティブなときは、そのタブもアクティブになります。QStyleOptionTab のメンバは以下の通りです:

メンバ説明
shapeQTabBar::Shape の値:丸みを帯びたタブまたは三角形のタブ、およびバーが配置されるウィジェットの側面。
textタブのテキスト。
iconタブのアイコン。
iconSizeアイコンのサイズ。
rowタブが配置されている行。Qtのタブバーは1行で構成されています。
positionTabPosition の値:他のタブに対するタブの位置、またはユーザーがタブをドラッグしている間はMoving 。
selectedPositionSelectedPosition の値。選択されているタブがこのタブの隣にあるかどうか、またどちら側に位置しているかを示します。
cornerWidgetsタブバーがどのコーナーウィジェットを持っているかを示す、CornerWidget 列挙型のフラグ。
documentModeタブバーがdocument mode にあるかどうか。
leftButtonSize、rightButtonSizeタブの左右にあるボタン(閉じるボタンなど)のサイズ。
featuresTabFeature 列挙型のフラグ:タブにフレームがあるかどうか、および最小サイズヒントを使用するかどうか。
tabIndexバー内でのタブのインデックス。

QStyleOptionTabWidgetFrame のメンバは以下の通りです:

メンバ説明
lineWidthパネルを描画するための線の幅。
midLineWidth常に 0 です。
shapeタブバー上のタブの形状。
tabBarSizeタブバーのサイズ。
tabBarRectタブバーの矩形領域。
selectedTabRect選択されたタブの矩形。これにより、フレームをそのタブに接続できるようになります。
leftCornerWidgetSize、rightCornerWidgetSizeコーナーウィジェットが存在する場合のサイズ。

QStyleOptionTabBarBase PE_FrameTabBarBase で使用されるこの構造体には、 、 、 、 というメンバーがあり、これらは同じ意味を持ちます。shape tabBarRect selectedTabRect documentMode

グループボックス

QGroupBox は、QStyleOptionGroupBox を持つ単一の複合コントロール(CC_GroupBox )を描画します。そのサイズヒントは、PM_IndicatorWidth 、PM_IndicatorHeight 、およびPM_CheckBoxLabelSpacing から計算されます。

  • CC_GroupBox
    • SC_GroupBoxFrame (PE_FrameGroupBox)
    • SC_GroupBoxLabel、drawItemText() で描画され、ボックスにフォーカスがある場合はPE_FrameFocusRect が追加されます
    • SC_GroupBoxCheckBox (PE_IndicatorCheckBox)、チェック可能なボックスの場合
    • SC_GroupBoxContents、子ウィジェット用の領域

スタイルヒント `SH_GroupBox_TextLabelVerticalAlignment ` および `SH_GroupBox_TextLabelColor ` はタイトルを制御します。Qtはチェックボックスの描画方法を規定していません。`QCommonStyle ` は `PE_IndicatorCheckBox` を使用するため、`Checkboxes` および `radio buttons` の下にある要素ツリーが適用されます。

内部に2つのチェックボックスを含むチェック可能なグループボックス。フレーム、チェックボックス、ラベル、およびコンテンツの各サブコントロールに外枠が表示されています。

QGroupBox 以下の状態フラグを設定します:

状態以下の場合に設定される
State_Onチェックボックスがチェックされているとき。
State_Offチェックボックスがオフの状態。チェックできないグループボックスは、State_On もState_Off も設定しません。
State_Sunkenチェックボックスまたはタイトルラベルが押されたとき。

QStyleOptionGroupBox のその他のメンバーは次のとおりです。

メンバ説明
featuresQStyleOptionFrame::FrameFeatures フレームを記述するフラグ。たとえば、フラットなグループボックスの場合は `Flat ` など。
lineWidthフレームの線の幅。常に 1 です。
midLineWidth常に 0 です。
textタイトル。
textAlignmenttextAlignment。
textColorSH_GroupBox_TextLabelColor の値。グループボックスは、アプリケーションがパレットにWindowText ブラシを設定していない場合にのみ、この値を入力します。それ以外の場合は無効のままとなり、QCommonStyle は代わりにパレットを使用します。

スプリッター

QSplitterHandle は、プレーンなQStyleOption を使用して、1つのコントロール要素(CE_Splitter )を描画します。スプリッターは、CT_Splitter およびPM_SplitterWidth を使用してハンドルのサイズを調整し、ユーザーがドラッグしている間に子要素のサイズを変更するかどうかを決定するためにSH_Splitter_OpaqueResize を呼び出します。

3つのテキストペインと、輪郭線が表示された2つのハンドルを備えたスプリッター

ハンドルは、initFrom() を呼び出すのではなく、オプション自体に値を設定します。以下の状態フラグを設定します:

状態設定される条件
State_Horizontalスプリッターが水平であるため、ハンドルは垂直になります。
State_MouseOverマウスがハンドルの上にあるとき。
State_Sunkenハンドルが押されている。
State_Enabledハンドルが有効になっている。

ツールボックス

QToolBox は、ウィジェットのコレクションを保持し、ウィジェットごとに1つのタブボタンを縦方向に配置して、一度に1つずつ表示します。各ボタンは、`QStyleOptionToolBox` を使用して `CE_ToolBoxTab ` を描画し、ボタンには `PM_SmallIconSize ` がアイコンとして使用されます。

  • CE_ToolBoxTab、1ページにつき1回
    • CE_ToolBoxTabShape
    • CE_ToolBoxTabLabel (SE_ToolBoxTabContents)

3つのタブがあり、最初のページが開いているツールボックス。タブと現在表示中のページには枠線が引かれている。

タブボタンは以下の状態フラグを設定します:

状態設定される条件
State_Selectedそのタブがアクティブなタブである場合。
State_Sunkenタブが押されたとき。

QStyleOptionToolBox のその他のメンバは以下の通りです:

メンバ説明
iconタブ上のアイコン。
textタブ上のテキスト。
positionTabPosition の値:他のタブに対するこのタブの位置。
selectedPositionSelectedPosition の値。選択されているタブがこのタブの隣にあるかどうか、またどちら側にあるかを指定します。

ツールバー

ツールバーは、main window framework の一部です。メインウィンドウには4つのツールバー領域があり、各辺に沿って1つずつ配置されています。各領域には、数行のツールバーを配置できます。QMainWindow は、ツールバーを配置し、そのスタイルオプションのpositionメンバーに値を設定します。

QToolBar QStyleOptionToolBar を使用して、 を描画します。ツールバーが独自のウィンドウ内にフローティング表示される場合、その周囲に も描画されます。移動可能なツールバーはそのハンドルを描画し、アクション間の区切り線は を描画する小さなウィジェットです。CE_ToolBar PE_FrameMenu PE_IndicatorToolBarSeparator

  • CE_ToolBar (PM_ToolBarFrameWidth,PM_ToolBarItemMargin,PM_ToolBarItemSpacing)
    • PE_PanelToolBar
  • PE_FrameMenu、フローティングツールバーの場合
  • PE_IndicatorToolBarHandle (SE_ToolBarHandle,PM_ToolBarHandleExtent)
  • PE_IndicatorToolBarSeparator (PM_ToolBarSeparatorExtent)、各セパレータによって描画されます

バー内のツールボタンはCC_ToolButton を描画します。詳細は「ツールボタン」を参照してください。アイコンのサイズはデフォルトでPM_ToolBarIconSize に設定されています。アクションが収まらない場合、バーにはSP_ToolBarHorizontalExtensionButton またはSP_ToolBarVerticalExtensionButton のアイコンが付いた拡張ボタンが表示され、そのサイズはPM_ToolBarExtensionExtent によって決定されます。

ハンドル、3つのツールボタン、および区切り線からなるツールバーで、各要素には輪郭線が描かれている

QToolBar この状態フラグを設定します:

状態設定条件
State_Horizontalツールバーが水平配置、つまり上部または下部のツールバー領域にあるとき。

ツールバーが水平配置の場合、区切り線には `State_Horizontal ` が設定されたプレーンな `QStyleOption ` が使用されます。QStyleOptionToolBar のその他のメンバーは以下の通りです:

メンバ説明
featuresToolBarFeature flags: ツールバーが移動可能な場合は `Movable `。
lineWidthツールバーフレームの幅。
midLineWidth常に 0 です。
positionOfLineToolBarPosition の値:ツールバー領域内におけるツールバーの線の位置。
positionWithinLineToolBarPosition の値:ツールバー領域内でのツールバーの行の位置。positionWithinLine の値:行内でのツールバーの位置。
toolBarAreaツールバーが存在するQt::ToolBarArea 。

ドックウィジェット

QDockWidget は、アプリケーションがカスタムタイトルバーウィジェットをインストールしていないか、ドックウィジェットがネイティブのウィンドウ装飾とともにフローティング表示されていない限り、CE_DockWidgetTitle とQStyleOptionDockWidget を使用してタイトルバーを描画します。ネイティブの装飾がないフローティングドックウィジェットも、PE_FrameDockWidget を描画します。フローティングボタンと閉じるボタンはツールボタンであり、PE_PanelButtonTool を描画し、SP_TitleBarNormalButton およびSP_TitleBarCloseButton のアイコンを表示します。

  • PE_FrameDockWidget (PM_DockWidgetFrameWidth)、フローティング状態のときは
  • CE_DockWidgetTitle (SE_DockWidgetTitleBarText,SE_DockWidgetIcon,PM_DockWidgetTitleMargin)
  • SE_DockWidgetFloatButton およびSE_DockWidgetCloseButton (PM_DockWidgetTitleBarButtonMargin) の場合、ボタンの位置は

QMainWindow は、PE_IndicatorDockWidgetResizeHandle を使用してドッキングされたウィジェット間にセパレータを描画し、そのサイズはPM_DockWidgetSeparatorExtent によって決定されます。ヒントSH_DockWidget_ButtonsHaveFrame は、タイトルバーのボタンに枠を表示するかどうかを決定します。

右側にドックウィジェットが配置されたメインウィンドウ。タイトルバー、タイトルテキスト、フロートボタン、閉じるボタン、およびセパレータに枠線が引かれている。

このタイトルバーオプションは、一般的なもの以外の状態フラグを設定しません。QStyleOptionDockWidget のメンバは以下の通りです:

メンバ説明
titleタイトルテキスト。
closableドックウィジェットを閉じることができるかどうか。
movableドックウィジェットを別の領域に移動できるかどうか。
floatableドックウィジェットをフローティング(メインウィンドウから切り離す)できるかどうか。
verticalTitleBarタイトルバーが左側に縦方向に描画されるかどうか。

タイトルバー

タイトルバー複合コントロール(CC_TitleBar )は、QMdiArea 内のサブウィンドウのタイトルバーを描画します。これは、ウィンドウタイトルと、システムメニュー、最小化、最大化、および閉じるボタンで構成されています。一部のスタイルでは、ウィンドウの陰影付けやコンテキスト依存ヘルプ用のボタンも提供されます。

  • CC_TitleBar (PM_TitleBarHeight,PM_TitleBarButtonSize,PM_TitleBarButtonIconSize)
    • SC_TitleBarSysMenu
    • SC_TitleBarLabel
    • SC_TitleBarMinButton,SC_TitleBarMaxButton,SC_TitleBarCloseButton,SC_TitleBarNormalButton
    • SC_TitleBarShadeButton,SC_TitleBarUnshadeButton,SC_TitleBarContextHelpButton

QCommonStyle 各ボタンを、PE_PanelButtonTool と、SP_TitleBarMenuButton からSP_TitleBarContextHelpButton までの対応する標準アイコンで描画します。サブウィンドウが最大化されると、QMdiSubWindow はそのボタンをメインウィンドウのメニューバーに移動し、CC_MdiControls およびサブコントロールSC_MdiMinButton 、SC_MdiNormalButton 、SC_MdiCloseButton を使用して描画します。

アイコン、テキスト「サブウィンドウ」、および最小化、最大化、閉じるボタンが配置されたタイトルバー。各サブコントロールには枠線が引かれている。

QStyleOptionTitleBar のメンバは以下の通りです:

メンバ説明
textタイトルテキスト。
アイコンウィンドウのアイコン。
titleBarFlagsQt::WindowFlags タイトルバーにどのボタンがあるかを示すもの。
titleBarStateウィンドウのQWidget::windowState()。最大化ボタンと復元ボタンのどちらを表示するかを決定します。

サイズグリップ

QSizeGrip は、QStyleOptionSizeGrip を持つCE_SizeGrip という 1 つのコントロール要素を描画し、CT_SizeGrip を使用してそのサイズヒントを計算します。QStatusBar は、デフォルトでその隅にサイズグリップを表示します。

「Ready」というメッセージが表示されたステータスバーと、隅に輪郭線が引かれたサイズ調整バー

サイズグリップは、一般的なもの以外の状態フラグを設定しません。QStyleOptionSizeGrip には独自のメンバーが1つあります:

メンバ説明
cornerQt::Corner の値:グリップが位置するウィンドウの角。

ラバーバンド

QRubberBand QStyleOptionRubberBand を使用して、 のコントロール要素を1つ描画します。スタイルでは、 スタイルヒントを使用してバンドの形状を指定できます。CE_RubberBand SH_RubberBand_Mask

輪郭が透け感のあるゴムバンド状の選択矩形で囲まれたリストビュー

このバンドは、一般的なものを除いて状態フラグを設定しません。QStyleOptionRubberBand のメンバは以下の通りです:

メンバ説明
shapeQRubberBand::Shape の値:長方形または線。
opaqueバンドを不透明に描画する必要があるかどうか。

「ウィジェットスタイルのリファレンス」、「ボタンおよび入力ウィジェットのスタイル設定」、「メニューおよびアイテムビューのスタイル設定」も参照してください 。

© 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.