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

Public Types

enum ButtonFeature { None, Flat, HasMenu, DefaultButton, AutoDefaultButton, CommandLinkButton }
flags ButtonFeatures
enum StyleOptionType { Type }
enum StyleOptionVersion { Version }

Public Functions

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.

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.

QStyleOptionButton::None0x00Indicates a normal push button.
QStyleOptionButton::Flat0x01Indicates a flat push button.
QStyleOptionButton::HasMenu0x02Indicates that the button has a drop down menu.
QStyleOptionButton::DefaultButton0x04Indicates that the button is a default button.
QStyleOptionButton::AutoDefaultButton0x08Indicates that the button is an auto default button.
QStyleOptionButton::CommandLinkButton0x10Indicates 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.

QStyleOptionButton::TypeSO_ButtonThe 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.


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


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.

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