- Qt 6.10
- Qt Widgets
- C++ Classes
- QStyleOptionTab
- Qt 6.10.2 Reference Documentation

# QStyleOptionTab Class

The QStyleOptionTab class is used to describe the parameters for drawing a tab bar. More...

Header: | `#include <QStyleOptionTab>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Widgets)` `target_link_libraries(mytarget PRIVATE Qt6::Widgets)`
qmake: | `QT += widgets`
Inherits: | QStyleOption

- List of all members, including inherited members

## Public Types

enum | CornerWidget { NoCornerWidgets, LeftCornerWidget, RightCornerWidget }
flags | CornerWidgets
enum | SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected }
enum | StyleOptionType { Type }
enum | StyleOptionVersion { Version }
enum | TabFeature { None, HasFrame, MinimumSizeHint }
flags | TabFeatures
enum | TabPosition { Beginning, Middle, End, OnlyOneTab, Moving }

## Public Functions

| QStyleOptionTab()
| QStyleOptionTab(const QStyleOptionTab &other)

## Public Variables

QStyleOptionTab::CornerWidgets | cornerWidgets
bool | documentMode
QIcon | icon
QSize | iconSize
QSize | leftButtonSize
QStyleOptionTab::TabPosition | position
QSize | rightButtonSize
int | row
QStyleOptionTab::SelectedPosition | selectedPosition
QTabBar::Shape | shape
int | tabIndex
QString | text

## Detailed Description

The QStyleOptionTab class is used for drawing several built-in Qt widgets including QTabBar and the panel for QTabWidget.

An instance of the QStyleOptionTab class has type SO_Tab and version 3. The type is used internally by QStyleOption, its subclasses, and qstyleoption_cast() to determine the type of style option. In general you do not need to worry about this unless you want to create your own QStyleOption subclass and your own styles. The version is used by QStyleOption subclasses to implement extensions without breaking compatibility. If you use qstyleoption_cast(), you normally do not need to check it.

For performance reasons, there are few member functions and the access to the member variables is direct (i.e., using the `.` or `->` operator). This makes the structures straightforward to use and emphasizes that these are simply parameters used by the style functions.

See also QStyleOption.

## Member Type Documentation

### enum QStyleOptionTab::CornerWidget
flags QStyleOptionTab::CornerWidgets

These flags indicate the corner widgets in a tab.

Constant | Value | Description
--- | --- | ---
`QStyleOptionTab::NoCornerWidgets` | `0x00` | There are no corner widgets
`QStyleOptionTab::LeftCornerWidget` | `0x01` | Left corner widget
`QStyleOptionTab::RightCornerWidget` | `0x02` | Right corner widget

The CornerWidgets type is a typedef for QFlags<CornerWidget>. It stores an OR combination of CornerWidget values.

See also cornerWidgets.

### enum QStyleOptionTab::SelectedPosition

This enum describes the position of the selected tab. Some styles need to draw a tab differently depending on whether or not it is adjacent to the selected tab.

Constant | Value | Description
--- | --- | ---
`QStyleOptionTab::NotAdjacent` | `0` | The tab is not adjacent to a selected tab (or is the selected tab).
`QStyleOptionTab::NextIsSelected` | `1` | The next tab (typically the tab on the right) is selected.
`QStyleOptionTab::PreviousIsSelected` | `2` | The previous tab (typically the tab on the left) is selected.

See also selectedPosition.

### enum QStyleOptionTab::StyleOptionType

This enum is used to hold information about the type of the style option, and is defined for each QStyleOption subclass.

Constant | Value | Description
--- | --- | ---
`QStyleOptionTab::Type` | `SO_Tab` | The type of style option provided (SO_Tab for this class).

The type is used internally by QStyleOption, its subclasses, and qstyleoption_cast() to determine the type of style option. In general you do not need to worry about this unless you want to create your own QStyleOption subclass and your own styles.

See also StyleOptionVersion.

### enum QStyleOptionTab::StyleOptionVersion

This enum is used to hold information about the version of the style option, and is defined for each QStyleOption subclass.

Constant | Value | Description
--- | --- | ---
`QStyleOptionTab::Version` | `1` | 3

The version is used by QStyleOption subclasses to implement extensions without breaking compatibility. If you use qstyleoption_cast(), you normally do not need to check it.

See also StyleOptionType.

### enum QStyleOptionTab::TabFeature
flags QStyleOptionTab::TabFeatures

Describes the various features that a tab button can have.

Constant | Value | Description
--- | --- | ---
`QStyleOptionTab::None` | `0x00` | A normal tab button.
`QStyleOptionTab::HasFrame` | `0x01` | The tab button is positioned on a tab frame
`QStyleOptionTab::MinimumSizeHint (since Qt 6.9)` | `0x02` | The tab button's minimum size hint is being measured, in contrast to its regular size hint.

The TabFeatures type is a typedef for QFlags<TabFeature>. It stores an OR combination of TabFeature values.

See also QStyleOptionToolBar::features.

### enum QStyleOptionTab::TabPosition

This enum describes the position of the tab.

Constant | Value | Description
--- | --- | ---
`QStyleOptionTab::Beginning` | `0` | The tab is the first tab in the tab bar.
`QStyleOptionTab::Middle` | `1` | The tab is neither the first nor the last tab in the tab bar.
`QStyleOptionTab::End` | `2` | The tab is the last tab in the tab bar.
`QStyleOptionTab::OnlyOneTab` | `3` | The tab is both the first and the last tab in the tab bar.
`QStyleOptionTab::Moving (since Qt 6.6)` | `4` | The tab is moving by mouse drag or animation.

See also position.

## Member Function Documentation

### QStyleOptionTab::QStyleOptionTab()

Constructs a QStyleOptionTab object, initializing the members variables to their default values.

### QStyleOptionTab::QStyleOptionTab(const QStyleOptionTab &other)

Constructs a copy of the other style option.

## Member Variable Documentation

### QStyleOptionTab::CornerWidgets QStyleOptionTab::cornerWidgets

This variable holds an OR combination of CornerWidget values indicating the corner widgets of the tab bar

The default value is NoCornerWidgets.

See also CornerWidget.

### bool QStyleOptionTab::documentMode

This variable holds whether the tabbar is in document mode.

The default value is false;

### QIcon QStyleOptionTab::icon

This variable holds the icon for the tab

The default value is an empty icon, i.e. an icon with neither a pixmap nor a filename.

### QSize QStyleOptionTab::iconSize

This variable holds the size for the icons

The default value is QSize(-1, -1), i.e. an invalid size; use QStyle::pixelMetric() to find the default icon size for tab bars.

See also QTabBar::iconSize().

### QSize QStyleOptionTab::leftButtonSize

This variable holds the size for the left widget on the tab.

The default value is QSize(-1, -1), i.e. an invalid size;

### QStyleOptionTab::TabPosition QStyleOptionTab::position

This variable holds the position of the tab in the tab bar

The default value is Beginning, i.e. the tab is the first tab in the tab bar.

### QSize QStyleOptionTab::rightButtonSize

This variable holds the size for the right widget on the tab.

The default value is QSize(-1, -1), i.e. an invalid size;

### int QStyleOptionTab::row

This variable holds which row the tab is currently in

The default value is 0, indicating the front row. Currently this property can only be 0.

### QStyleOptionTab::SelectedPosition QStyleOptionTab::selectedPosition

This variable holds the position of the selected tab in relation to this tab

The default value is NotAdjacent, i.e. the tab is not adjacent to a selected tab nor is it the selected tab.

### QTabBar::Shape QStyleOptionTab::shape

This variable holds the tab shape used to draw the tab; by default QTabBar::RoundedNorth.

See also QTabBar::Shape.

### int QStyleOptionTab::tabIndex

This variable holds the index for the tab being represented.

The default value is -1, i.e. a tab not on a tabbar;

### QString QStyleOptionTab::text

This variable holds the text of the tab

The default value is an empty string.