Gestaltung von Containern und Fenstern
Diese Seite ist Teil der Widget-Stilreferenz. Eine Erläuterung der Elementbäume, Screenshots und Tabellen finden Sie auf dieser Seite. Die allgemeinen Statusflags und Mitglieder, die jedes Widget setzt, sind unter „Wie ein Stil ein Widget zeichnet“ aufgeführt.
Registerkarten-Widgets und Registerkartenleisten
QTabBar zeichnet seine Registerkarten über den Stil. Eine Registerkartenleiste ist entweder Teil eines „ QTabWidget “ oder eigenständig. Eine eigenständige Leiste zeichnet ihre eigene Grundlinie. In einem Registerkarten-Widget zeichnet das Widget den Rahmen um den Bereich, und die Leiste befindet sich darüber.
QTabWidget zeichnet „ PE_FrameTabWidget “ mit „ QStyleOptionTabWidgetFrame “. Es fragt den Stil ab, wo die Registerleiste, der Bereich, der Inhalt und die Eck-Widgets platziert werden sollen, und zwar mit „ SE_TabWidgetTabPane “, „ SE_TabWidgetTabContents “, „ SE_TabWidgetTabBar “, „ SE_TabWidgetLeftCorner “ und „ SE_TabWidgetRightCorner “, und es überlappt die Leiste und den Bereich mit „ PM_TabBarBaseOverlap “.
QTabBar ordnet die Registerkarten selbst an, sodass der Stil keinen Einfluss auf die Platzierung der Registerkarten hat. Beim Anordnen fragt die Leiste nach „ CT_TabBarTab “, was „ PM_TabBarTabHSpace “ und „ PM_TabBarTabVSpace “ umfasst – die zusätzliche Breite und Höhe um die Beschriftung herum. Anschließend zeichnet sie jede Registerkarte mit „ CE_TabBarTab “ und einem „ QStyleOptionTab “. Die ausgewählte Registerkarte wird zuletzt gezeichnet, damit ein Stil sie über ihre Nachbarn zeichnen kann.
PE_FrameTabBarBase(PM_TabBarBaseHeight,PM_TabBarBaseOverlap) für eine eigenständige Leiste mit einem QStyleOptionTabBarBaseCE_TabBarTabeinmal pro RegisterkarteCE_TabBarTabShape(PM_TabBarTabOverlap)CE_TabBarTabLabel(SE_TabBarTabText,SE_TabBarTabLeftButton,SE_TabBarTabRightButton,PM_TabBarTabShiftHorizontal,PM_TabBarTabShiftVertical,PM_TabBarIconSize)
PE_IndicatorTabClose, ausgelöst durch die Schaltfläche zum Schließen eines schließbaren Tabs (SH_TabBar_CloseButtonPosition,PM_TabCloseIndicatorWidth,PM_TabCloseIndicatorHeight)PE_IndicatorTabTearLeftsowiePE_IndicatorTabTearRight, wo Registerkarten durch die Bildlaufschaltflächen abgeschnitten werden (SE_TabBarTearIndicatorLeft,SE_TabBarTearIndicatorRight)
Die Scroll-Schaltflächen, die erscheinen, wenn die Registerkarten nicht mehr passen, sind tool buttons; der Stil positioniert sie mit SE_TabBarScrollLeftButton und SE_TabBarScrollRightButton und passt ihre Größe mit PM_TabBarScrollButtonWidth an. Die Leiste greift zudem auf SH_TabBar_Alignment, SH_TabBar_ElideMode und SH_TabBar_PreferNoArrows zurück.

QTabBar Setzt diese Statusflags auf jeder Registerkarte:
| Status | Wird gesetzt, wenn |
|---|---|
State_Sunken | die Registerkarte gedrückt wird. |
State_Selected | Die Registerkarte ist die aktuelle Registerkarte. |
State_HasFocus | Die Registerkartenleiste hat den Fokus und die Registerkarte ist ausgewählt. |
State_MouseOver | Die Maus befindet sich über der Registerkarte. |
Einzelne Registerkarten können auch dann deaktiviert werden, wenn die Registerkartenleiste aktiviert ist. Die Registerkarte ist aktiv, wenn die Registerkartenleiste aktiv ist. Die Elemente von „ QStyleOptionTab “ sind:
| Mitglied | Beschreibung |
|---|---|
| shape | Ein Wert von „ QTabBar::Shape “: abgerundete oder dreieckige Registerkarten sowie die Seite des Widgets, auf der sich die Leiste befindet. |
| text | Der Text der Registerkarte. |
| Symbol | Das Symbol der Registerkarte. |
| iconSize | Die Größe des Symbols. |
| row | Die Zeile, in der sich die Registerkarte befindet. Die Registerkartenleisten von Qt haben eine Zeile. |
| position | Ein Wert vom Typ „ TabPosition “: die Position der Registerkarte relativ zu den anderen Registerkarten oder „ Moving “, während der Benutzer sie zieht. |
| selectedPosition | Ein Wert vom Typ „ SelectedPosition “, der angibt, ob sich die ausgewählte Registerkarte neben dieser Registerkarte befindet und auf welcher Seite. |
| cornerWidgets | Flags der Enumeration „ CornerWidget “, die angeben, welche Eck-Widgets die Registerkartenleiste enthält. |
| documentMode | Gibt an, ob sich die Registerkartenleiste im Modus „ document mode “ befindet. |
| leftButtonSize, rightButtonSize | Die Größen der Schaltflächen auf der linken und rechten Seite der Registerkarte, z. B. der Schaltfläche zum Schließen. |
| features | Flags der Enumeration „ TabFeature “: Gibt an, ob die Registerkarte einen Rahmen hat und ob sie ihren Hinweis zur Mindestgröße verwendet. |
| tabIndex | Der Index der Registerkarte in der Leiste. |
Die Elemente der Enumeration „ QStyleOptionTabWidgetFrame “ sind:
| Element | Beschreibung |
|---|---|
| lineWidth | Die Linienbreite zum Zeichnen des Panels. |
| midLineWidth | Immer 0. |
| shape | Die Form der Registerkarten in der Registerkartenleiste. |
| tabBarSize | Die Größe der Registerleiste. |
| tabBarRect | Das Rechteck der Registerleiste. |
| selectedTabRect | Das Rechteck der ausgewählten Registerkarte, damit der Rahmen daran angedockt werden kann. |
| leftCornerWidgetSize, rightCornerWidgetSize | Die Größen der Eck-Widgets, falls vorhanden. |
QStyleOptionTabBarBase, das für „ PE_FrameTabBarBase “ verwendet wird, verfügt über die Elemente „ shape “, „ tabBarRect “, „ selectedTabRect “ und „ documentMode “ mit derselben Bedeutung.
Gruppenfelder
QGroupBox zeichnet ein komplexes Steuerelement, CC_GroupBox, mit einem QStyleOptionGroupBox. Es berechnet seinen Größenhinweis aus PM_IndicatorWidth, PM_IndicatorHeight und PM_CheckBoxLabelSpacing.
CC_GroupBoxSC_GroupBoxFrame(PE_FrameGroupBox)SC_GroupBoxLabel, gezeichnet mit ` drawItemText()`, zuzüglich `PE_FrameFocusRect`, wenn das Kontrollkästchen den Fokus hatSC_GroupBoxCheckBox(PE_IndicatorCheckBox), für ein KontrollkästchenSC_GroupBoxContents, der Bereich für die untergeordneten Widgets
Die Stilhinweise ` SH_GroupBox_TextLabelVerticalAlignment ` und ` SH_GroupBox_TextLabelColor ` steuern den Titel. Qt schreibt nicht vor, wie das Kontrollkästchen gezeichnet wird; ` QCommonStyle ` verwendet ` PE_IndicatorCheckBox`, daher gilt der Elementbaum unter „Kontrollkästchen und Optionsfelder “.

QGroupBox setzt folgende Statusflags:
| Zustand | Wird gesetzt, wenn |
|---|---|
State_On | Das Kontrollkästchen ist aktiviert. |
State_Off | Das Kontrollkästchen ist nicht markiert. Ein Gruppenfeld, das nicht markierbar ist, setzt weder „ State_On “ noch „ State_Off “. |
State_Sunken | Das Kontrollkästchen oder die Titelbeschriftung wird gedrückt. |
Die weiteren Elemente von „ QStyleOptionGroupBox “ sind:
| Element | Beschreibung |
|---|---|
| features | QStyleOptionFrame::FrameFeatures Flagge, die den Rahmen beschreiben, wie z. B. „ Flat “ für ein flaches Gruppenfeld. |
| lineWidth | Die Linienbreite des Rahmens. Immer 1. |
| midLineWidth | Immer 0. |
| text | Der Titel. |
| textAlignment | Die Ausrichtung des Titels. |
| textColor | Der Wert von „ SH_GroupBox_TextLabelColor “. Das Gruppenfeld füllt diesen Wert nur aus, wenn die Anwendung keinen „ WindowText “-Pinsel in der Palette festgelegt hat; andernfalls bleibt er ungültig und „ QCommonStyle “ verwendet stattdessen die Palette. |
Splitter
QSplitterHandle zeichnet ein Steuerelement, „ CE_Splitter “, mit einem einfachen „ QStyleOption “. Der Splitter passt die Größe seiner Griffelemente mit „ CT_Splitter “ und „ PM_SplitterWidth “ an und fragt „ SH_Splitter_OpaqueResize “ ab, um zu entscheiden, ob die Größe der untergeordneten Elemente während des Ziehens durch den Benutzer angepasst werden soll.

Der Griff füllt die Option selbst aus, anstatt „ initFrom()“ aufzurufen. Er setzt folgende Statusflags:
| Status | Wird gesetzt, wenn |
|---|---|
State_Horizontal | Der Splitter ist horizontal, daher ist der Griff vertikal. |
State_MouseOver | Die Maus befindet sich über dem Griff. |
State_Sunken | Der Griff wird gedrückt. |
State_Enabled | Der Griff ist aktiviert. |
Toolboxen
QToolBox enthält eine Sammlung von Widgets und zeigt jeweils eines davon an, wobei pro Widget eine Registerkarte in vertikaler Anordnung vorhanden ist. Jede Schaltfläche wird mit ` CE_ToolBoxTab ` und ` QStyleOptionToolBox` gezeichnet, und die Schaltflächen verwenden ` PM_SmallIconSize ` für ihre Symbole.
CE_ToolBoxTab, einmal pro SeiteCE_ToolBoxTabShapeCE_ToolBoxTabLabel(SE_ToolBoxTabContents)

Die Registerkarte setzt folgende Statusflags:
| Status | Wird gesetzt, wenn |
|---|---|
State_Selected | Die Registerkarte ist die aktuelle Registerkarte. |
State_Sunken | Die Tabulatortaste wird gedrückt. |
Die weiteren Elemente von „ QStyleOptionToolBox “ sind:
| Element | Beschreibung |
|---|---|
| Symbol | Das Symbol auf der Registerkarte. |
| text | Der Text auf der Registerkarte. |
| position | Ein Wert vom Typ „ TabPosition “: Die Position der Registerkarte im Verhältnis zu den anderen Registerkarten. |
| selectedPosition | Ein Wert vom Typ „ SelectedPosition “, der angibt, ob sich die ausgewählte Registerkarte neben dieser Registerkarte befindet und auf welcher Seite. |
Symbolleisten
Symbolleisten sind Teil des ` main window framework`. Ein Hauptfenster verfügt über vier Symbolleistenbereiche, einen an jeder Seite, und jeder Bereich kann mehrere Zeilen mit Symbolleisten enthalten. ` QMainWindow ` positioniert die Symbolleisten und füllt die Positionselemente ihrer Stiloption aus.
QToolBar zeichnet „ CE_ToolBar “ mit „ QStyleOptionToolBar “. Wenn die Symbolleiste in einem eigenen Fenster schwebt, zeichnet sie außerdem „ PE_FrameMenu “ um sich herum. Eine verschiebbare Symbolleiste zeichnet ihren Griff, und die Trennzeichen zwischen den Aktionen sind kleine Widgets, die „ PE_IndicatorToolBarSeparator “ zeichnen.
CE_ToolBar(PM_ToolBarFrameWidth,PM_ToolBarItemMargin,PM_ToolBarItemSpacing)PE_PanelToolBar
PE_FrameMenu, für eine schwebende SymbolleistePE_IndicatorToolBarHandle(SE_ToolBarHandle,PM_ToolBarHandleExtent)PE_IndicatorToolBarSeparator(PM_ToolBarSeparatorExtent), die von jedem Trennzeichen gezeichnet wird
Die Werkzeugschaltflächen in der Leiste werden mit CC_ToolButton gezeichnet; siehe Werkzeugschaltflächen. Ihre Symbolgröße ist standardmäßig auf PM_ToolBarIconSize festgelegt. Wenn die Aktionen nicht passen, zeigt die Leiste eine Erweiterungsschaltfläche mit dem Symbol SP_ToolBarHorizontalExtensionButton oder SP_ToolBarVerticalExtensionButton an, deren Größe durch PM_ToolBarExtensionExtent bestimmt wird.

QToolBar Setzt dieses Statusflag:
| Status | Wird gesetzt, wenn |
|---|---|
State_Horizontal | Die Symbolleiste horizontal ist, d. h. sich im oberen oder unteren Symbolleistenbereich befindet. |
Die Trennzeichen verwenden ein einfaches „ QStyleOption “ mit gesetztem „ State_Horizontal “, wenn die Symbolleiste horizontal ist. Die anderen Elemente von „ QStyleOptionToolBar “ sind:
| Element | Beschreibung |
|---|---|
| features | ToolBarFeature flags: „ Movable “, wenn die Symbolleiste verschoben werden kann. |
| lineWidth | Die Breite des Symbolleistenrahmens. |
| midLineWidth | Immer 0. |
| positionOfLine | Ein Wert vom Typ „ ToolBarPosition “: Die Position der Zeile der Symbolleiste innerhalb ihres Symbolleistenbereichs. |
| positionWithinLine | Ein Wert vom Typ „ ToolBarPosition “: die Position der Symbolleiste innerhalb ihrer Zeile. |
| toolBarArea | Der „ Qt::ToolBarArea “, in dem sich die Symbolleiste befindet. |
Dock-Widgets
QDockWidget zeichnet seine Titelleiste mit „ CE_DockWidgetTitle “ und „ QStyleOptionDockWidget “, es sei denn, die Anwendung hat ein benutzerdefiniertes Titelleisten-Widget installiert oder das Dock-Widget schwebt mit nativen Fensterdekorationen. Ein schwebendes Dock-Widget ohne native Dekorationen zeichnet ebenfalls „ PE_FrameDockWidget “. Die Schaltflächen „Float“ und „Close“ sind Werkzeugschaltflächen, die „ PE_PanelButtonTool “ zeichnen und die Symbole „ SP_TitleBarNormalButton “ sowie „ SP_TitleBarCloseButton “ anzeigen.
PE_FrameDockWidget(PM_DockWidgetFrameWidth), im schwebenden ModusCE_DockWidgetTitle(SE_DockWidgetTitleBarText,SE_DockWidgetIcon,PM_DockWidgetTitleMargin)SE_DockWidgetFloatButtonsowie bei „SE_DockWidgetCloseButton“ (PM_DockWidgetTitleBarButtonMargin) werden die Positionen der Schaltflächen
QMainWindow zeichnet die Trennlinien zwischen angedockten Widgets mit ` PE_IndicatorDockWidgetResizeHandle`, deren Größe durch ` PM_DockWidgetSeparatorExtent` bestimmt wird. Der Hinweis ` SH_DockWidget_ButtonsHaveFrame ` legt fest, ob die Schaltflächen in der Titelleiste einen Rahmen haben.

Die Option „Titelleiste“ setzt keine Zustandsflags, die über die üblichen hinausgehen. Die Mitglieder von ` QStyleOptionDockWidget ` sind:
| Mitglied | Beschreibung |
|---|---|
| title | Der Titeltext. |
| closable | Gibt an, ob das Dock-Widget geschlossen werden kann. |
| verschiebbar | Gibt an, ob das Dock-Widget in einen anderen Bereich verschoben werden kann. |
| frei schwebend | Gibt an, ob das Dock-Widget frei schwebend sein kann, d. h. sich vom Hauptfenster lösen kann. |
| verticalTitleBar | Gibt an, ob die Titelleiste vertikal am linken Rand angezeigt wird. |
Titelleisten
Das komplexe Steuerelement „Titelleiste“ ( CC_TitleBar) zeichnet die Titelleisten der Unterfenster in einem „ QMdiArea “. Es besteht aus einem Fenstertitel sowie den Schaltflächen für das Systemmenü, Minimieren, Maximieren und Schließen. Einige Stile bieten zudem Schaltflächen zum Schattieren des Fensters und für kontextsensitive Hilfe.
CC_TitleBar(PM_TitleBarHeight,PM_TitleBarButtonSize,PM_TitleBarButtonIconSize)SC_TitleBarSysMenuSC_TitleBarLabelSC_TitleBarMinButton,SC_TitleBarMaxButton,SC_TitleBarCloseButton,SC_TitleBarNormalButtonSC_TitleBarShadeButton,SC_TitleBarUnshadeButton,SC_TitleBarContextHelpButton
QCommonStyle zeichnet jede Schaltfläche mit „ PE_PanelButtonTool “ und dem passenden Standard-Symbol, von „ SP_TitleBarMenuButton “ bis „ SP_TitleBarContextHelpButton “. Wenn ein Unterfenster maximiert ist, verschiebt „ QMdiSubWindow “ dessen Schaltflächen in die Menüleiste des Hauptfensters und zeichnet sie mit „ CC_MdiControls “ sowie den Untersteuerelementen „ SC_MdiMinButton “, „ SC_MdiNormalButton “ und „ SC_MdiCloseButton “.

Die Elemente von ` QStyleOptionTitleBar ` sind:
| Mitglied | Beschreibung |
|---|---|
| text | Der Titeltext. |
| Symbol | Das Fenstersymbol. |
| titleBarFlags | Qt::WindowFlags die angeben, welche Schaltflächen die Titelleiste enthält. |
| titleBarState | Der „ QWidget::windowState “ () des Fensters, der bestimmt, ob die Schaltfläche zum Maximieren oder zum Wiederherstellen angezeigt wird. |
Größen-Ziehpunkte
QSizeGrip zeichnet ein Steuerelement, ` CE_SizeGrip`, mit einem ` QStyleOptionSizeGrip` und berechnet dessen Größenhinweis mit ` CT_SizeGrip`. ` QStatusBar ` zeigt standardmäßig einen Größengriff in seiner Ecke an.

Der Größen-Grip setzt keine weiteren Statusflags als die üblichen. „ QStyleOptionSizeGrip “ verfügt über ein eigenes Element:
| Mitglied | Beschreibung |
|---|---|
| corner | Ein Wert von „ Qt::Corner “: die Ecke des Fensters, in der sich der Griff befindet. |
Gummibänder
QRubberBand Zeichnet ein Steuerelement „ CE_RubberBand “ mit einem „ QStyleOptionRubberBand “. Der Stil kann das Band über den Stilhinweis „ SH_RubberBand_Mask “ gestalten.

Das Band setzt keine Statusflags, die über die üblichen hinausgehen. Die Mitglieder von ` QStyleOptionRubberBand ` sind:
| Element | Beschreibung |
|---|---|
| shape | Ein Wert aus dem Typ „ QRubberBand::Shape “: ein Rechteck oder eine Linie. |
| opaque | Gibt an, ob das Band undurchsichtig gezeichnet werden soll. |
Siehe auch „Widget-Stilreferenz“, „Gestaltung von Schaltflächen und Eingabe-Widgets“ sowie „Gestaltung von Menüs und Elementansichten“.
© 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.