diff --git a/src/gui/kernel/qaction.cpp b/src/gui/kernel/qaction.cpp index 9c0b1613dc..2d8d289c98 100644 --- a/src/gui/kernel/qaction.cpp +++ b/src/gui/kernel/qaction.cpp @@ -1225,7 +1225,7 @@ QAction::MenuRole QAction::menuRole() const /*! \fn QMenu *QAction::menu() const - \deprecated + \deprecated Use QMenu::menuForAction instead. Returns the menu contained by this action. diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 74ac7e799c..5ecac2c7c6 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -1052,6 +1052,16 @@ QAction *QMenu::menuAction() const return d_func()->menuAction; } +/*! + \fn static QMenu *QMenu::menuInAction(const QAction *action) + + Returns the menu contained by \a action, or \nullptr if \a action does not + contain a menu. + + In widget applications, actions that contain menus can be used to create menu + items with submenus, or inserted into toolbars to create buttons with popup menus. +*/ + /*! \property QMenu::title \brief The title of the menu diff --git a/src/widgets/widgets/qmenu.h b/src/widgets/widgets/qmenu.h index 68481308fb..1b14263e6b 100644 --- a/src/widgets/widgets/qmenu.h +++ b/src/widgets/widgets/qmenu.h @@ -189,6 +189,8 @@ public: QAction *actionAt(const QPoint &) const; QAction *menuAction() const; + static QMenu *menuInAction(const QAction *action) + { return qobject_cast(action->menuObject()); } QString title() const; void setTitle(const QString &title);