QRadioButton Class

The QRadioButton widget provides a radio button with a text label. More...

Header: #include <QRadioButton>
qmake: QT += widgets
Inherits: QAbstractButton

Public Functions

QRadioButton(QWidget *parent = Q_NULLPTR)
QRadioButton(const QString &text, QWidget *parent = Q_NULLPTR)
~QRadioButton()

Reimplemented Public Functions

virtual QSize minimumSizeHint() const
virtual QSize sizeHint() const

Protected Functions

void initStyleOption(QStyleOptionButton *option) const

Reimplemented Protected Functions

virtual bool event(QEvent *e)
virtual bool hitButton(const QPoint &pos) const
virtual void mouseMoveEvent(QMouseEvent *e)
virtual void paintEvent(QPaintEvent *)

Additional Inherited Members

Detailed Description

The QRadioButton widget provides a radio button with a text label.

A QRadioButton is an option button that can be switched on (checked) or off (unchecked). Radio buttons typically present the user with a "one of many" choice. In a group of radio buttons, only one radio button at a time can be checked; if the user selects another button, the previously selected button is switched off.

Radio buttons are autoExclusive by default. If auto-exclusive is enabled, radio buttons that belong to the same parent widget behave as if they were part of the same exclusive button group. If you need multiple exclusive button groups for radio buttons that belong to the same parent widget, put them into a QButtonGroup.

Whenever a button is switched on or off, it emits the toggled() signal. Connect to this signal if you want to trigger an action each time the button changes state. Use isChecked() to see if a particular button is selected.

Just like QPushButton, a radio button displays text, and optionally a small icon. The icon is set with setIcon(). The text can be set in the constructor or with setText(). A shortcut key can be specified by preceding the preferred character with an ampersand in the text. For example:


  QRadioButton *button = new QRadioButton("Search from the &cursor", this);

In this example the shortcut is Alt+c. See the QShortcut documentation for details. To display an actual ampersand, use '&&'.

Important inherited members: text(), setText(), text(), setDown(), isDown(), autoRepeat(), group(), setAutoRepeat(), toggle(), pressed(), released(), clicked(), and toggled().

Screenshot of a Fusion radio buttonA radio button shown in the Fusion widget style.
Screenshot of a Windows Vista radio buttonA radio button shown in the Windows Vista widget style.
Screenshot of a Macintosh radio buttonA radio button shown in the Macintosh widget style.

See also QPushButton, QToolButton, QCheckBox, GUI Design Handbook: Radio Button, and Group Box Example.

Member Function Documentation

QRadioButton::QRadioButton(QWidget *parent = Q_NULLPTR)

Constructs a radio button with the given parent, but with no text or pixmap.

The parent argument is passed on to the QAbstractButton constructor.

QRadioButton::QRadioButton(const QString &text, QWidget *parent = Q_NULLPTR)

Constructs a radio button with the given parent and text string.

The parent argument is passed on to the QAbstractButton constructor.

QRadioButton::~QRadioButton()

Destructor.

[virtual protected] bool QRadioButton::event(QEvent *e)

Reimplemented from QObject::event().

[virtual protected] bool QRadioButton::hitButton(const QPoint &pos) const

Reimplemented from QAbstractButton::hitButton().

[protected] void QRadioButton::initStyleOption(QStyleOptionButton *option) const

Initialize option with the values from this QRadioButton. This method is useful for subclasses when they need a QStyleOptionButton, but don't want to fill in all the information themselves.

See also QStyleOption::initFrom().

[virtual] QSize QRadioButton::minimumSizeHint() const

Reimplemented from QWidget::minimumSizeHint().

[virtual protected] void QRadioButton::mouseMoveEvent(QMouseEvent *e)

Reimplemented from QWidget::mouseMoveEvent().

[virtual protected] void QRadioButton::paintEvent(QPaintEvent *)

Reimplemented from QWidget::paintEvent().

[virtual] QSize QRadioButton::sizeHint() const

Reimplemented from QWidget::sizeHint().