Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QPUSHBUTTON_H
00043 #define QPUSHBUTTON_H
00044
00045 #include <QtGui/qabstractbutton.h>
00046
00047 QT_BEGIN_HEADER
00048
00049 QT_BEGIN_NAMESPACE
00050
00051 QT_MODULE(Gui)
00052
00053 class QPushButtonPrivate;
00054 class QMenu;
00055 class QStyleOptionButton;
00056
00057 class Q_GUI_EXPORT QPushButton : public QAbstractButton
00058 {
00059 Q_OBJECT
00060
00061 Q_PROPERTY(bool autoDefault READ autoDefault WRITE setAutoDefault)
00062 Q_PROPERTY(bool default READ isDefault WRITE setDefault)
00063 Q_PROPERTY(bool flat READ isFlat WRITE setFlat)
00064
00065 public:
00066 explicit QPushButton(QWidget *parent=0);
00067 explicit QPushButton(const QString &text, QWidget *parent=0);
00068 QPushButton(const QIcon& icon, const QString &text, QWidget *parent=0);
00069 ~QPushButton();
00070
00071 QSize sizeHint() const;
00072 QSize minimumSizeHint() const;
00073
00074 bool autoDefault() const;
00075 void setAutoDefault(bool);
00076 bool isDefault() const;
00077 void setDefault(bool);
00078
00079 #ifndef QT_NO_MENU
00080 void setMenu(QMenu* menu);
00081 QMenu* menu() const;
00082 #endif
00083
00084 void setFlat(bool);
00085 bool isFlat() const;
00086
00087 public Q_SLOTS:
00088 #ifndef QT_NO_MENU
00089 void showMenu();
00090 #endif
00091
00092 protected:
00093 bool event(QEvent *e);
00094 #ifdef Q_WS_MAC
00095 bool hitButton(const QPoint &pos) const;
00096 #endif // Q_WS_MAC
00097 void paintEvent(QPaintEvent *);
00098 void keyPressEvent(QKeyEvent *);
00099 void focusInEvent(QFocusEvent *);
00100 void focusOutEvent(QFocusEvent *);
00101 void initStyleOption(QStyleOptionButton *option) const;
00102 QPushButton(QPushButtonPrivate &dd, QWidget* parent = 0);
00103
00104 public:
00105 #ifdef QT3_SUPPORT
00106 QT3_SUPPORT_CONSTRUCTOR QPushButton(QWidget *parent, const char* name);
00107 QT3_SUPPORT_CONSTRUCTOR QPushButton(const QString &text, QWidget *parent, const char* name);
00108 QT3_SUPPORT_CONSTRUCTOR QPushButton(const QIcon& icon, const QString &text, QWidget *parent, const char* name);
00109 inline QT3_SUPPORT void openPopup() { showMenu(); }
00110 inline QT3_SUPPORT bool isMenuButton() const { return menu() != 0; }
00111 inline QT3_SUPPORT void setPopup(QMenu* popup) {setMenu(popup); }
00112 inline QT3_SUPPORT QMenu* popup() const { return menu(); }
00113 #endif
00114
00115 private:
00116 Q_DISABLE_COPY(QPushButton)
00117 Q_DECLARE_PRIVATE(QPushButton)
00118 #ifndef QT_NO_MENU
00119 Q_PRIVATE_SLOT(d_func(), void _q_popupPressed())
00120 #endif
00121 };
00122
00123 QT_END_NAMESPACE
00124
00125 QT_END_HEADER
00126
00127 #endif // QPUSHBUTTON_H