File indexing completed on 2026-07-29 09:21:18
0001
0002
0003
0004
0005 #ifndef QGROUPBOX_H
0006 #define QGROUPBOX_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qframe.h>
0010
0011 QT_REQUIRE_CONFIG(groupbox);
0012
0013 QT_BEGIN_NAMESPACE
0014
0015 class QGroupBoxPrivate;
0016 class QStyleOptionGroupBox;
0017 class Q_WIDGETS_EXPORT QGroupBox : public QWidget
0018 {
0019 Q_OBJECT
0020
0021 Q_PROPERTY(QString title READ title WRITE setTitle)
0022 Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
0023 Q_PROPERTY(bool flat READ isFlat WRITE setFlat)
0024 Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable)
0025 Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY toggled USER true)
0026 public:
0027 explicit QGroupBox(QWidget *parent = nullptr);
0028 explicit QGroupBox(const QString &title, QWidget *parent = nullptr);
0029 ~QGroupBox();
0030
0031 QString title() const;
0032 void setTitle(const QString &title);
0033
0034 Qt::Alignment alignment() const;
0035 void setAlignment(int alignment);
0036
0037 QSize minimumSizeHint() const override;
0038
0039 bool isFlat() const;
0040 void setFlat(bool flat);
0041 bool isCheckable() const;
0042 void setCheckable(bool checkable);
0043 bool isChecked() const;
0044
0045 public Q_SLOTS:
0046 void setChecked(bool checked);
0047
0048 Q_SIGNALS:
0049 void clicked(bool checked = false);
0050 void toggled(bool);
0051
0052 protected:
0053 bool event(QEvent *event) override;
0054 void childEvent(QChildEvent *event) override;
0055 void resizeEvent(QResizeEvent *event) override;
0056 void paintEvent(QPaintEvent *event) override;
0057 void focusInEvent(QFocusEvent *event) override;
0058 void changeEvent(QEvent *event) override;
0059 void mousePressEvent(QMouseEvent *event) override;
0060 void mouseMoveEvent(QMouseEvent *event) override;
0061 void mouseReleaseEvent(QMouseEvent *event) override;
0062 virtual void initStyleOption(QStyleOptionGroupBox *option) const;
0063
0064
0065 private:
0066 Q_DISABLE_COPY(QGroupBox)
0067 Q_DECLARE_PRIVATE(QGroupBox)
0068 Q_PRIVATE_SLOT(d_func(), void _q_setChildrenEnabled(bool b))
0069 };
0070
0071 QT_END_NAMESPACE
0072
0073 #endif