- Qt 6.5
- Qt Widgets
- C++ Classes
- QStyleOptionToolButton
- Qt 6.5.1 Reference Documentation

# QStyleOptionToolButton Class

The QStyleOptionToolButton class is used to describe the parameters for drawing a tool button. More...

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

- List of all members, including inherited members

## Public Types

enum | StyleOptionType { Type }
enum | StyleOptionVersion { Version }
enum | ToolButtonFeature { None, Arrow, Menu, PopupDelay, HasMenu, MenuButtonPopup }
flags | ToolButtonFeatures

## Public Functions

| QStyleOptionToolButton()
| QStyleOptionToolButton(const QStyleOptionToolButton &other)

## Public Variables

Qt::ArrowType | arrowType
QStyleOptionToolButton::ToolButtonFeatures | features
QFont | font
QIcon | icon
QSize | iconSize
QPoint | pos
QString | text
Qt::ToolButtonStyle | toolButtonStyle

## Detailed Description

QStyleOptionToolButton contains all the information that QStyle functions need to draw QToolButton.

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.

For an example demonstrating how style options can be used, see the Styles example.

See also QStyleOption, QStyleOptionComplex, and QStyleOptionButton.

## Member Type Documentation

### enum QStyleOptionToolButton::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
--- | --- | ---
`QStyleOptionToolButton::Type` | `SO_ToolButton` | The type of style option provided (SO_ToolButton 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 QStyleOptionToolButton::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
--- | --- | ---
`QStyleOptionToolButton::Version` | `1` | 1

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 QStyleOptionToolButton::ToolButtonFeature
flags QStyleOptionToolButton::ToolButtonFeatures

Describes the various features that a tool button can have.

Constant | Value | Description
--- | --- | ---
`QStyleOptionToolButton::None` | `0x00` | A normal tool button.
`QStyleOptionToolButton::Arrow` | `0x01` | The tool button is an arrow.
`QStyleOptionToolButton::Menu` | `0x04` | The tool button has a menu.
`QStyleOptionToolButton::PopupDelay` | `0x08` | There is a delay to showing the menu.
`QStyleOptionToolButton::HasMenu` | `0x10` | The button has a popup menu.
`QStyleOptionToolButton::MenuButtonPopup` | `Menu` | The button should display an arrow to indicate that a menu is present.

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

See also features, QToolButton::toolButtonStyle(), and QToolButton::popupMode().

## Member Function Documentation

### QStyleOptionToolButton::QStyleOptionToolButton()

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

### QStyleOptionToolButton::QStyleOptionToolButton(const QStyleOptionToolButton &other)

Constructs a copy of the other style option.

## Member Variable Documentation

### Qt::ArrowType QStyleOptionToolButton::arrowType

This variable holds the direction of the arrow for the tool button

This value is only used if features includes Arrow. The default value is Qt::DownArrow.

### QStyleOptionToolButton::ToolButtonFeatures QStyleOptionToolButton::features

This variable holds an OR combination of the tool button's features

The default value is None.

See also ToolButtonFeature.

### QFont QStyleOptionToolButton::font

This variable holds the font that is used for the text

This value is only used if toolButtonStyle is Qt::ToolButtonTextUnderIcon, Qt::ToolButtonTextBesideIcon, or Qt::ToolButtonTextOnly. By default, the application's default font is used.

### QIcon QStyleOptionToolButton::icon

This variable holds the icon for the tool button

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

See also iconSize.

### QSize QStyleOptionToolButton::iconSize

This variable holds the size of the icon for the tool button

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

### QPoint QStyleOptionToolButton::pos

This variable holds the position of the tool button

The default value is a null point, i.e. (0, 0)

### QString QStyleOptionToolButton::text

This variable holds the text of the tool button

This value is only used if toolButtonStyle is Qt::ToolButtonTextUnderIcon, Qt::ToolButtonTextBesideIcon, or Qt::ToolButtonTextOnly. The default value is an empty string.

### Qt::ToolButtonStyle QStyleOptionToolButton::toolButtonStyle

This variable holds a Qt::ToolButtonStyle value describing the appearance of the tool button

The default value is Qt::ToolButtonIconOnly.

See also QToolButton::toolButtonStyle().