1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QRADIOBUTTON_H
5#define QRADIOBUTTON_H
6
7#include <QtWidgets/qtwidgetsglobal.h>
8#include <QtWidgets/qabstractbutton.h>
9
10QT_REQUIRE_CONFIG(radiobutton);
11
12QT_BEGIN_NAMESPACE
13
14
15class QRadioButtonPrivate;
16class QStyleOptionButton;
17
18class Q_WIDGETS_EXPORT QRadioButton : public QAbstractButton
19{
20 Q_OBJECT
21
22public:
23 explicit QRadioButton(QWidget *parent = nullptr);
24 explicit QRadioButton(const QString &text, QWidget *parent = nullptr);
25 ~QRadioButton();
26
27 QSize sizeHint() const override;
28 QSize minimumSizeHint() const override;
29
30protected:
31 bool event(QEvent *e) override;
32 bool hitButton(const QPoint &) const override;
33 void paintEvent(QPaintEvent *) override;
34 void mouseMoveEvent(QMouseEvent *) override;
35 virtual void initStyleOption(QStyleOptionButton *button) const;
36
37
38private:
39 Q_DECLARE_PRIVATE(QRadioButton)
40 Q_DISABLE_COPY(QRadioButton)
41 friend class QAccessibleButton;
42};
43
44QT_END_NAMESPACE
45
46#endif // QRADIOBUTTON_H
47

source code of qtbase/src/widgets/widgets/qradiobutton.h