Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-25 09:20:02

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QPUSHBUTTON_H
0006 #define QPUSHBUTTON_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qabstractbutton.h>
0010 
0011 QT_REQUIRE_CONFIG(pushbutton);
0012 
0013 QT_BEGIN_NAMESPACE
0014 
0015 
0016 class QPushButtonPrivate;
0017 class QMenu;
0018 class QStyleOptionButton;
0019 
0020 class Q_WIDGETS_EXPORT QPushButton : public QAbstractButton
0021 {
0022     Q_OBJECT
0023 
0024     Q_PROPERTY(bool autoDefault READ autoDefault WRITE setAutoDefault)
0025     Q_PROPERTY(bool default READ isDefault WRITE setDefault)
0026     Q_PROPERTY(bool flat READ isFlat WRITE setFlat)
0027 
0028 public:
0029     explicit QPushButton(QWidget *parent = nullptr);
0030     explicit QPushButton(const QString &text, QWidget *parent = nullptr);
0031     QPushButton(const QIcon& icon, const QString &text, QWidget *parent = nullptr);
0032     ~QPushButton();
0033 
0034     QSize sizeHint() const override;
0035     QSize minimumSizeHint() const override;
0036 
0037     bool autoDefault() const;
0038     void setAutoDefault(bool);
0039     bool isDefault() const;
0040     void setDefault(bool);
0041 
0042 #if QT_CONFIG(menu)
0043     void setMenu(QMenu* menu);
0044     QMenu* menu() const;
0045 #endif
0046 
0047     void setFlat(bool);
0048     bool isFlat() const;
0049 
0050 public Q_SLOTS:
0051 #if QT_CONFIG(menu)
0052     void showMenu();
0053 #endif
0054 
0055 protected:
0056     bool event(QEvent *e) override;
0057     void paintEvent(QPaintEvent *) override;
0058     void keyPressEvent(QKeyEvent *) override;
0059     void focusInEvent(QFocusEvent *) override;
0060     void focusOutEvent(QFocusEvent *) override;
0061     void mouseMoveEvent(QMouseEvent *) override;
0062     virtual void initStyleOption(QStyleOptionButton *option) const;
0063     bool hitButton(const QPoint &pos) const override;
0064     QPushButton(QPushButtonPrivate &dd, QWidget* parent = nullptr);
0065 
0066 private:
0067     Q_DISABLE_COPY(QPushButton)
0068     Q_DECLARE_PRIVATE(QPushButton)
0069 };
0070 
0071 QT_END_NAMESPACE
0072 
0073 #endif // QPUSHBUTTON_H