- Qt 6.5
- Qt Widgets
- C++ Classes
- QStyleOptionButton
- Qt 6.5.0 Reference Documentation

# QStyleOptionButton Class

The QStyleOptionButton class is used to describe the parameters for drawing buttons. More...

Header: | #include <QStyleOptionButton>
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 | ButtonFeature { None, Flat, HasMenu, DefaultButton, AutoDefaultButton, CommandLinkButton }
flags | ButtonFeatures
enum | StyleOptionType { Type }
enum | StyleOptionVersion { Version }

## Public Functions

| QStyleOptionButton()
| QStyleOptionButton(const QStyleOptionButton &other)

## Public Variables

QStyleOptionButton::ButtonFeatures | features
QIcon | icon
QSize | iconSize
QString | text

## Detailed Description

QStyleOptionButton contains all the information that QStyle functions need to draw graphical elements like QPushButton, QCheckBox, and QRadioButton.

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 and QStyleOptionToolButton.

## Member Type Documentation

### enum QStyleOptionButton::ButtonFeature
flags QStyleOptionButton::ButtonFeatures

This enum describes the different types of features a push button can have.

Constant | Value | Description
--- | --- | ---
`QStyleOptionButton::None` | `0x00` | Indicates a normal push button.
`QStyleOptionButton::Flat` | `0x01` | Indicates a flat push button.
`QStyleOptionButton::HasMenu` | `0x02` | Indicates that the button has a drop down menu.
`QStyleOptionButton::DefaultButton` | `0x04` | Indicates that the button is a default button.
`QStyleOptionButton::AutoDefaultButton` | `0x08` | Indicates that the button is an auto default button.
`QStyleOptionButton::CommandLinkButton` | `0x10` | Indicates that the button is a Windows Vista type command link.

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

See also features.

### enum QStyleOptionButton::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
--- | --- | ---
`QStyleOptionButton::Type` | `SO_Button` | The type of style option provided (SO_Button 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 QStyleOptionButton::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
--- | --- | ---
`QStyleOptionButton::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.

## Member Function Documentation

### QStyleOptionButton::QStyleOptionButton()

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

### QStyleOptionButton::QStyleOptionButton(const QStyleOptionButton &other)

Constructs a copy of the other style option.

## Member Variable Documentation

### QStyleOptionButton::ButtonFeatures QStyleOptionButton::features

This variable holds a bitwise OR of the features that describe this button

See also ButtonFeature.

### QIcon QStyleOptionButton::icon

This variable holds the icon of the button

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

See also iconSize.

### QSize QStyleOptionButton::iconSize

This variable holds the size of the icon for the button

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

### QString QStyleOptionButton::text

This variable holds the text of the button

The default value is an empty string.