23 Q_ENUMS(Qt::ToolButtonStyle Qt::ArrowType)
25 Q_PROPERTY(ToolButtonPopupMode popupMode READ popupMode WRITE setPopupMode)
27 Q_PROPERTY(Qt::ToolButtonStyle toolButtonStyle READ toolButtonStyle WRITE setToolButtonStyle)
28 Q_PROPERTY(
bool autoRaise READ autoRaise WRITE setAutoRaise)
29 Q_PROPERTY(Qt::ArrowType arrowType READ arrowType WRITE setArrowType)
32 enum ToolButtonPopupMode {
37 Q_ENUM(ToolButtonPopupMode)
39 explicit QToolButton(QWidget *parent =
nullptr);
42 QSize sizeHint()
const override;
43 QSize minimumSizeHint()
const override;
45 Qt::ToolButtonStyle toolButtonStyle()
const;
47 Qt::ArrowType arrowType()
const;
48 void setArrowType(Qt::ArrowType type);
51 void setMenu(QMenu* menu);
54 void setPopupMode(ToolButtonPopupMode mode);
55 ToolButtonPopupMode popupMode()
const;
58 QAction *defaultAction()
const;
60 void setAutoRaise(
bool enable);
61 bool autoRaise()
const;
67 void setToolButtonStyle(Qt::ToolButtonStyle style);
68 void setDefaultAction(QAction *);
71 void triggered(QAction *);
74 bool event(QEvent *e) override;
75 void mousePressEvent(QMouseEvent *) override;
76 void mouseReleaseEvent(QMouseEvent *) override;
77 void paintEvent(QPaintEvent *) override;
78 void actionEvent(QActionEvent *) override;
80 void enterEvent(QEnterEvent *) override;
81 void leaveEvent(QEvent *) override;
82 void timerEvent(QTimerEvent *) override;
83 void changeEvent(QEvent *) override;
85 bool hitButton(
const QPoint &pos)
const override;
86 void checkStateSet() override;
87 void nextCheckState() override;
88 virtual void initStyleOption(QStyleOptionToolButton *option)
const;
91 Q_DISABLE_COPY(QToolButton)
92 Q_DECLARE_PRIVATE(QToolButton)