File indexing completed on 2026-07-28 09:24:49
0001
0002
0003
0004
0005 #ifndef QWIDGETACTION_H
0006 #define QWIDGETACTION_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtGui/qaction.h>
0010
0011 QT_REQUIRE_CONFIG(action);
0012
0013 QT_BEGIN_NAMESPACE
0014
0015 class QWidgetActionPrivate;
0016
0017 class Q_WIDGETS_EXPORT QWidgetAction : public QAction
0018 {
0019 Q_OBJECT
0020 Q_DECLARE_PRIVATE(QWidgetAction)
0021
0022 public:
0023 explicit QWidgetAction(QObject *parent);
0024 virtual ~QWidgetAction();
0025
0026 void setDefaultWidget(QWidget *w);
0027 QWidget *defaultWidget() const;
0028
0029 QWidget *requestWidget(QWidget *parent);
0030 void releaseWidget(QWidget *widget);
0031
0032 protected:
0033 virtual bool event(QEvent *) override;
0034 virtual bool eventFilter(QObject *, QEvent *) override;
0035 virtual QWidget *createWidget(QWidget *parent);
0036 virtual void deleteWidget(QWidget *widget);
0037 QList<QWidget *> createdWidgets() const;
0038
0039 private:
0040 Q_DISABLE_COPY(QWidgetAction)
0041 friend class QToolBar;
0042 };
0043
0044 QT_END_NAMESPACE
0045
0046 #endif