Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QMenu Class Reference

The QMenu class provides a menu widget for use in menu bars, context menus, and other popup menus. More...

#include <qmenu.h>

+ Inheritance diagram for QMenu:
+ Collaboration diagram for QMenu:

Signals

void aboutToShow ()
 This signal is emitted just before the menu is shown to the user.
 
void aboutToHide ()
 
void triggered (QAction *action)
 This signal is emitted when an action in this menu is triggered.
 
void hovered (QAction *action)
 This signal is emitted when a menu action is highlighted; action is the action that caused the signal to be emitted.
 
- Signals inherited from QWidget
void windowTitleChanged (const QString &title)
 This signal is emitted when the window's title has changed, with the new title as an argument.
 
void windowIconChanged (const QIcon &icon)
 This signal is emitted when the window's icon has changed, with the new icon as an argument.
 
void windowIconTextChanged (const QString &iconText)
 This signal is emitted when the window's icon text has changed, with the new iconText as an argument.
 
void customContextMenuRequested (const QPoint &pos)
 This signal is emitted when the widget's \l contextMenuPolicy is Qt::CustomContextMenu, and the user has requested a context menu on the widget.
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QMenu (QWidget *parent=nullptr)
 Constructs a menu with parent parent.
 
 QMenu (const QString &title, QWidget *parent=nullptr)
 Constructs a menu with a title and a parent.
 
 ~QMenu ()
 Destroys the menu.
 
QActionaddMenu (QMenu *menu)
 This convenience function adds menu as a submenu to this menu.
 
QMenuaddMenu (const QString &title)
 Appends a new QMenu with title to the menu.
 
QMenuaddMenu (const QIcon &icon, const QString &title)
 Appends a new QMenu with icon and title to the menu.
 
QActionaddSeparator ()
 This convenience function creates a new separator action, i.e.
 
QActionaddSection (const QString &text)
 
QActionaddSection (const QIcon &icon, const QString &text)
 
QActioninsertMenu (QAction *before, QMenu *menu)
 This convenience function inserts menu before action before and returns the menus menuAction().
 
QActioninsertSeparator (QAction *before)
 This convenience function creates a new separator action, i.e.
 
QActioninsertSection (QAction *before, const QString &text)
 
QActioninsertSection (QAction *before, const QIcon &icon, const QString &text)
 
bool isEmpty () const
 
void clear ()
 Removes all the menu's actions.
 
void setTearOffEnabled (bool)
 
bool isTearOffEnabled () const
 
bool isTearOffMenuVisible () const
 When a menu is torn off a second menu is shown to display the menu contents in a new window.
 
void showTearOffMenu ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
void showTearOffMenu (const QPoint &pos)
 
void hideTearOffMenu ()
 This function will forcibly hide the torn off menu making it disappear from the user's desktop.
 
void setDefaultAction (QAction *)
 This sets the default action to act.
 
QActiondefaultAction () const
 Returns the current default action.
 
void setActiveAction (QAction *act)
 Sets the currently highlighted action to act.
 
QActionactiveAction () const
 Returns the currently highlighted action, or \nullptr if no action is currently highlighted.
 
void popup (const QPoint &pos, QAction *at=nullptr)
 Displays the menu so that the action atAction will be at the specified global position p.
 
QActionexec ()
 Executes this menu synchronously.
 
QActionexec (const QPoint &pos, QAction *at=nullptr)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Executes this menu synchronously.
 
QSize sizeHint () const override
 \reimp
 
QRect actionGeometry (QAction *) const
 Returns the geometry of action act.
 
QActionactionAt (const QPoint &) const
 Returns the item at pt; returns \nullptr if there is no item there.
 
QActionmenuAction () const
 Returns the action associated with this menu.
 
QString title () const
 
void setTitle (const QString &title)
 
QIcon icon () const
 
void setIcon (const QIcon &icon)
 
void setNoReplayFor (QWidget *widget)
 
QPlatformMenuplatformMenu ()
 
void setPlatformMenu (QPlatformMenu *platformMenu)
 
bool separatorsCollapsible () const
 
void setSeparatorsCollapsible (bool collapse)
 
bool toolTipsVisible () const
 
void setToolTipsVisible (bool visible)
 
void addAction (QAction *action)
 Appends the action action to this widget's list of actions.
 
QActionaddAction (const QString &text)
 
QActionaddAction (const QIcon &icon, const QString &text)
 
QActionaddAction (const QString &text, const QObject *receiver, const char *member, Qt::ConnectionType type=Qt::AutoConnection)
 
QActionaddAction (const QIcon &icon, const QString &text, const QObject *receiver, const char *member, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename... Args, typename = compatible_action_slot_args<Args...>>
QActionaddAction (const QString &text, Args &&...args)
 
template<typename... Args, typename = compatible_action_slot_args<Args...>>
QActionaddAction (const QIcon &icon, const QString &text, Args &&...args)
 
- Public Member Functions inherited from QWidget
 QWidget (QWidget *parent=nullptr, Qt::WindowFlags f=Qt::WindowFlags())
 Constructs a widget which is a child of parent, with widget flags set to f.
 
 ~QWidget ()
 Destroys the widget.
 
int devType () const override
 
WId winId () const
 Returns the window system identifier of the widget.
 
void createWinId ()
 
WId internalWinId () const
 
WId effectiveWinId () const
 
QStylestyle () const
 
void setStyle (QStyle *)
 Sets the widget's GUI style to style.
 
bool isWindow () const
 Returns true if the widget is an independent window, otherwise returns false.
 
bool isModal () const
 
Qt::WindowModality windowModality () const
 
void setWindowModality (Qt::WindowModality windowModality)
 
bool isEnabled () const
 
bool isEnabledTo (const QWidget *) const
 Returns true if this widget would become enabled if ancestor is enabled; otherwise returns false.
 
QRect frameGeometry () const
 
const QRectgeometry () const
 
QRect normalGeometry () const
 
int x () const
 
int y () const
 
QPoint pos () const
 
QSize frameSize () const
 
QSize size () const
 
int width () const
 
int height () const
 
QRect rect () const
 
QRect childrenRect () const
 
QRegion childrenRegion () const
 
QSize minimumSize () const
 
QSize maximumSize () const
 
int minimumWidth () const
 
int minimumHeight () const
 
int maximumWidth () const
 
int maximumHeight () const
 
void setMinimumSize (const QSize &)
 
void setMinimumSize (int minw, int minh)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This function corresponds to setMinimumSize(QSize(minw, minh)).
 
void setMaximumSize (const QSize &)
 
void setMaximumSize (int maxw, int maxh)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This function corresponds to setMaximumSize(QSize(maxw, maxh)).
 
void setMinimumWidth (int minw)
 
void setMinimumHeight (int minh)
 
void setMaximumWidth (int maxw)
 
void setMaximumHeight (int maxh)
 
QSize sizeIncrement () const
 
void setSizeIncrement (const QSize &)
 
void setSizeIncrement (int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the x (width) size increment to w and the y (height) size increment to h.
 
QSize baseSize () const
 
void setBaseSize (const QSize &)
 
void setBaseSize (int basew, int baseh)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This corresponds to setBaseSize(QSize(basew, baseh)).
 
void setFixedSize (const QSize &)
 Sets both the minimum and maximum sizes of the widget to s, thereby preventing it from ever growing or shrinking.
 
void setFixedSize (int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the width of the widget to w and the height to h.
 
void setFixedWidth (int w)
 Sets both the minimum and maximum width of the widget to w without changing the heights.
 
void setFixedHeight (int h)
 Sets both the minimum and maximum heights of the widget to h without changing the widths.
 
QPointF mapToGlobal (const QPointF &) const
 Translates the widget coordinate pos to global screen coordinates.
 
QPoint mapToGlobal (const QPoint &) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QPointF mapFromGlobal (const QPointF &) const
 Translates the global screen coordinate pos to widget coordinates.
 
QPoint mapFromGlobal (const QPoint &) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QPointF mapToParent (const QPointF &) const
 Translates the widget coordinate pos to a coordinate in the parent widget.
 
QPoint mapToParent (const QPoint &) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QPointF mapFromParent (const QPointF &) const
 Translates the parent widget coordinate pos to widget coordinates.
 
QPoint mapFromParent (const QPoint &) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QPointF mapTo (const QWidget *, const QPointF &) const
 Translates the widget coordinate pos to the coordinate system of parent.
 
QPoint mapTo (const QWidget *, const QPoint &) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QPointF mapFrom (const QWidget *, const QPointF &) const
 Translates the widget coordinate pos from the coordinate system of parent to this widget's coordinate system.
 
QPoint mapFrom (const QWidget *, const QPoint &) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QWidgetwindow () const
 Returns the window for this widget, i.e.
 
QWidgetnativeParentWidget () const
 
QWidgettopLevelWidget () const
 
const QPalettepalette () const
 
void setPalette (const QPalette &)
 
void setBackgroundRole (QPalette::ColorRole)
 Sets the background role of the widget to role.
 
QPalette::ColorRole backgroundRole () const
 Returns the background role of the widget.
 
void setForegroundRole (QPalette::ColorRole)
 Sets the foreground role of the widget to role.
 
QPalette::ColorRole foregroundRole () const
 Returns the foreground role.
 
const QFontfont () const
 
void setFont (const QFont &)
 
QFontMetrics fontMetrics () const
 Returns the font metrics for the widget's current font.
 
QFontInfo fontInfo () const
 Returns the font info for the widget's current font.
 
QCursor cursor () const
 
void setCursor (const QCursor &)
 
void unsetCursor ()
 
void setMouseTracking (bool enable)
 
bool hasMouseTracking () const
 
bool underMouse () const
 Returns true if the widget is under the mouse cursor; otherwise returns false.
 
void setTabletTracking (bool enable)
 
bool hasTabletTracking () const
 
void setMask (const QBitmap &)
 Causes only the pixels of the widget for which bitmap has a corresponding 1 bit to be visible.
 
void setMask (const QRegion &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Causes only the parts of the widget which overlap region to be visible.
 
QRegion mask () const
 Returns the mask currently set on a widget.
 
void clearMask ()
 Removes any mask set by setMask().
 
void render (QPaintDevice *target, const QPoint &targetOffset=QPoint(), const QRegion &sourceRegion=QRegion(), RenderFlags renderFlags=RenderFlags(DrawWindowBackground|DrawChildren))
 
void render (QPainter *painter, const QPoint &targetOffset=QPoint(), const QRegion &sourceRegion=QRegion(), RenderFlags renderFlags=RenderFlags(DrawWindowBackground|DrawChildren))
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Renders the widget into the painter's QPainter::device().
 
Q_INVOKABLE QPixmap grab (const QRect &rectangle=QRect(QPoint(0, 0), QSize(-1, -1)))
 
void grabGesture (Qt::GestureType type, Qt::GestureFlags flags=Qt::GestureFlags())
 Subscribes the widget to a given gesture with specific flags.
 
void ungrabGesture (Qt::GestureType type)
 Unsubscribes the widget from a given gesture type.
 
QString styleSheet () const
 
QString windowTitle () const
 
void setWindowIcon (const QIcon &icon)
 
QIcon windowIcon () const
 
void setWindowIconText (const QString &)
 
QString windowIconText () const
 
void setWindowRole (const QString &)
 Sets the window's role to role.
 
QString windowRole () const
 Returns the window's role, or an empty string.
 
void setWindowFilePath (const QString &filePath)
 
QString windowFilePath () const
 
void setWindowOpacity (qreal level)
 
qreal windowOpacity () const
 
bool isWindowModified () const
 
void setLayoutDirection (Qt::LayoutDirection direction)
 
Qt::LayoutDirection layoutDirection () const
 
void unsetLayoutDirection ()
 
void setLocale (const QLocale &locale)
 
QLocale locale () const
 
void unsetLocale ()
 
bool isRightToLeft () const
 
bool isLeftToRight () const
 
bool isActiveWindow () const
 
void activateWindow ()
 Sets the top-level widget containing this widget to be the active window.
 
void clearFocus ()
 Takes keyboard input focus from the widget.
 
void setFocus (Qt::FocusReason reason)
 Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the \l{isActiveWindow()}{active window}.
 
Qt::FocusPolicy focusPolicy () const
 
void setFocusPolicy (Qt::FocusPolicy policy)
 
bool hasFocus () const
 
void setFocusProxy (QWidget *)
 Sets the widget's focus proxy to widget w.
 
QWidgetfocusProxy () const
 Returns the focus proxy, or \nullptr if there is no focus proxy.
 
Qt::ContextMenuPolicy contextMenuPolicy () const
 
void setContextMenuPolicy (Qt::ContextMenuPolicy policy)
 
void grabMouse ()
 Grabs the mouse input.
 
void grabMouse (const QCursor &)
 
void releaseMouse ()
 Releases the mouse grab.
 
void grabKeyboard ()
 Grabs the keyboard input.
 
void releaseKeyboard ()
 Releases the keyboard grab.
 
int grabShortcut (const QKeySequence &key, Qt::ShortcutContext context=Qt::WindowShortcut)
 Adds a shortcut to Qt's shortcut system that watches for the given key sequence in the given context.
 
void releaseShortcut (int id)
 Removes the shortcut with the given id from Qt's shortcut system.
 
void setShortcutEnabled (int id, bool enable=true)
 If enable is true, the shortcut with the given id is enabled; otherwise the shortcut is disabled.
 
void setShortcutAutoRepeat (int id, bool enable=true)
 
bool updatesEnabled () const
 
void setUpdatesEnabled (bool enable)
 
void update (int x, int y, int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This version updates a rectangle (x, y, w, h) inside the widget.
 
void update (const QRect &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This version updates a rectangle rect inside the widget.
 
void update (const QRegion &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This version repaints a region rgn inside the widget.
 
void repaint (int x, int y, int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This version repaints a rectangle (x, y, w, h) inside the widget.
 
void repaint (const QRect &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This version repaints a rectangle rect inside the widget.
 
void repaint (const QRegion &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This version repaints a region rgn inside the widget.
 
void stackUnder (QWidget *)
 Places the widget under w in the parent widget's stack.
 
void move (int x, int y)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This corresponds to move(QPoint(x, y)).
 
void move (const QPoint &)
 
void resize (int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This corresponds to resize(QSize(w, h)).
 
void resize (const QSize &)
 
void setGeometry (int x, int y, int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This corresponds to setGeometry(QRect(x, y, w, h)).
 
void setGeometry (const QRect &)
 
QByteArray saveGeometry () const
 
bool restoreGeometry (const QByteArray &geometry)
 
void adjustSize ()
 Adjusts the size of the widget to fit its contents.
 
bool isVisible () const
 
bool isVisibleTo (const QWidget *) const
 Returns true if this widget would become visible if ancestor is shown; otherwise returns false.
 
bool isHidden () const
 Returns true if the widget is hidden, otherwise returns false.
 
bool isMinimized () const
 
bool isMaximized () const
 
bool isFullScreen () const
 
Qt::WindowStates windowState () const
 Returns the current window state.
 
void setWindowState (Qt::WindowStates state)
 Sets the window state to windowState.
 
void overrideWindowState (Qt::WindowStates state)
 
virtual QSize minimumSizeHint () const
 
QSizePolicy sizePolicy () const
 
void setSizePolicy (QSizePolicy)
 
void setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the size policy of the widget to horizontal and vertical, with standard stretch and no height-for-width.
 
virtual int heightForWidth (int) const
 Returns the preferred height for this widget, given the width w.
 
virtual bool hasHeightForWidth () const
 
QRegion visibleRegion () const
 Returns the unobscured region where paint events can occur.
 
void setContentsMargins (int left, int top, int right, int bottom)
 Sets the margins around the contents of the widget to have the sizes left, top, right, and bottom.
 
void setContentsMargins (const QMargins &margins)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QMargins contentsMargins () const
 The contentsMargins function returns the widget's contents margins.
 
QRect contentsRect () const
 Returns the area inside the widget's margins.
 
QLayoutlayout () const
 Returns the layout manager that is installed on this widget, or \nullptr if no layout manager is installed.
 
void setLayout (QLayout *)
 Sets the layout manager for this widget to layout.
 
void updateGeometry ()
 Notifies the layout system that this widget has changed and may need to change geometry.
 
void setParent (QWidget *parent)
 Sets the parent of the widget to parent, and resets the window flags.
 
void setParent (QWidget *parent, Qt::WindowFlags f)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This function also takes widget flags, f as an argument.
 
void scroll (int dx, int dy)
 Scrolls the widget including its children dx pixels to the right and dy downward.
 
void scroll (int dx, int dy, const QRect &)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This version only scrolls r and does not move the children of the widget.
 
QWidgetfocusWidget () const
 Returns the last child of this widget that setFocus had been called on.
 
QWidgetnextInFocusChain () const
 Returns the next widget in this widget's focus chain.
 
QWidgetpreviousInFocusChain () const
 The previousInFocusChain function returns the previous widget in this widget's focus chain.
 
bool acceptDrops () const
 
void setAcceptDrops (bool on)
 
void addAction (QAction *action)
 Appends the action action to this widget's list of actions.
 
void addActions (const QList< QAction * > &actions)
 Appends the actions actions to this widget's list of actions.
 
void insertActions (QAction *before, const QList< QAction * > &actions)
 Inserts the actions actions to this widget's list of actions, before the action before.
 
void insertAction (QAction *before, QAction *action)
 Inserts the action action to this widget's list of actions, before the action before.
 
void removeAction (QAction *action)
 Removes the action action from this widget's list of actions.
 
QList< QAction * > actions () const
 Returns the (possibly empty) list of this widget's actions.
 
QActionaddAction (const QString &text)
 
QActionaddAction (const QIcon &icon, const QString &text)
 
QActionaddAction (const QString &text, const QObject *receiver, const char *member, Qt::ConnectionType type=Qt::AutoConnection)
 
QActionaddAction (const QIcon &icon, const QString &text, const QObject *receiver, const char *member, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename... Args, typename = compatible_action_slot_args<Args...>>
QActionaddAction (const QString &text, Args &&...args)
 
template<typename... Args, typename = compatible_action_slot_args<Args...>>
QActionaddAction (const QIcon &icon, const QString &text, Args &&...args)
 
QWidgetparentWidget () const
 Returns the parent of this widget, or \nullptr if it does not have any parent widget.
 
void setWindowFlags (Qt::WindowFlags type)
 
Qt::WindowFlags windowFlags () const
 Window flags are a combination of a type (e.g.
 
void setWindowFlag (Qt::WindowType, bool on=true)
 
void overrideWindowFlags (Qt::WindowFlags type)
 Sets the window flags for the widget to flags, without telling the window system.
 
Qt::WindowType windowType () const
 Returns the window type of this widget.
 
QWidgetchildAt (int x, int y) const
 Returns the visible child widget at the position ({x}, {y}) in the widget's coordinate system.
 
QWidgetchildAt (const QPoint &p) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns the visible child widget at point p in the widget's own coordinate system.
 
QWidgetchildAt (const QPointF &p) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
void setAttribute (Qt::WidgetAttribute, bool on=true)
 Sets the attribute attribute on this widget if on is true; otherwise clears the attribute.
 
bool testAttribute (Qt::WidgetAttribute) const
 Returns true if attribute attribute is set on this widget; otherwise returns false.
 
QPaintEnginepaintEngine () const override
 Returns the widget's paint engine.
 
void ensurePolished () const
 Ensures that the widget and its children have been polished by QStyle (i.e., have a proper font and palette).
 
bool isAncestorOf (const QWidget *child) const
 Returns true if this widget is a parent, (or grandparent and so on to any level), of the given child, and both widgets are within the same window; otherwise returns false.
 
bool autoFillBackground () const
 
void setAutoFillBackground (bool enabled)
 
QBackingStorebackingStore () const
 
QWindowwindowHandle () const
 If this is a native widget, return the associated QWindow.
 
QScreenscreen () const
 Returns the screen the widget is on.
 
void setScreen (QScreen *)
 Sets the screen on which the widget should be shown to screen.
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery) const
 This method is only relevant for input widgets.
 
Qt::InputMethodHints inputMethodHints () const
 
void setInputMethodHints (Qt::InputMethodHints hints)
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 
- Public Member Functions inherited from QPaintDevice
virtual ~QPaintDevice ()
 
bool paintingActive () const
 
int width () const
 
int height () const
 
int widthMM () const
 
int heightMM () const
 
int logicalDpiX () const
 
int logicalDpiY () const
 
int physicalDpiX () const
 
int physicalDpiY () const
 
qreal devicePixelRatio () const
 
qreal devicePixelRatioF () const
 
int colorCount () const
 
int depth () const
 

Static Public Member Functions

static QActionexec (const QList< QAction * > &actions, const QPoint &pos, QAction *at=nullptr, QWidget *parent=nullptr)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Executes a menu synchronously.
 
static QMenumenuInAction (const QAction *action)
 Returns the menu contained by action, or \nullptr if action does not contain a menu.
 
- Static Public Member Functions inherited from QWidget
static void setTabOrder (QWidget *, QWidget *)
 Puts the second widget after the first widget in the focus order.
 
static void setTabOrder (std::initializer_list< QWidget * > widgets)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
static QWidgetmouseGrabber ()
 Returns the widget that is currently grabbing the mouse input.
 
static QWidgetkeyboardGrabber ()
 Returns the widget that is currently grabbing the keyboard input.
 
static QWidgetfind (WId)
 Returns a pointer to the widget with window identifier/handle id.
 
static QWidgetcreateWindowContainer (QWindow *window, QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::WindowFlags())
 Creates a QWidget that makes it possible to embed window into a QWidget-based application.
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Static Public Member Functions inherited from QPaintDevice
static qreal devicePixelRatioFScale ()
 
static int encodeMetricF (PaintDeviceMetric metric, double value)
 

Protected Member Functions

int columnCount () const
 If a menu does not fit on the screen it lays itself out so that it does fit.
 
void changeEvent (QEvent *) override
 \reimp
 
void keyPressEvent (QKeyEvent *) override
 \reimp
 
void mouseReleaseEvent (QMouseEvent *) override
 \reimp
 
void mousePressEvent (QMouseEvent *) override
 \reimp
 
void mouseMoveEvent (QMouseEvent *) override
 \reimp
 
void enterEvent (QEnterEvent *) override
 \reimp
 
void leaveEvent (QEvent *) override
 \reimp
 
void hideEvent (QHideEvent *) override
 \reimp
 
void paintEvent (QPaintEvent *) override
 \reimp
 
void actionEvent (QActionEvent *) override
 \reimp
 
void timerEvent (QTimerEvent *) override
 \reimp
 
bool event (QEvent *) override
 \reimp
 
bool focusNextPrevChild (bool next) override
 \reimp
 
virtual void initStyleOption (QStyleOptionMenuItem *option, const QAction *action) const
 Initialize option with the values from this menu and information from action.
 
- Protected Member Functions inherited from QWidget
bool event (QEvent *event) override
 This is the main event handler; it handles event event.
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 This event handler, for event event, can be reimplemented in a subclass to receive mouse double click events for the widget.
 
virtual void keyReleaseEvent (QKeyEvent *event)
 This event handler, for event event, can be reimplemented in a subclass to receive key release events for the widget.
 
virtual void focusInEvent (QFocusEvent *event)
 This event handler can be reimplemented in a subclass to receive keyboard focus events (focus received) for the widget.
 
virtual void focusOutEvent (QFocusEvent *event)
 This event handler can be reimplemented in a subclass to receive keyboard focus events (focus lost) for the widget.
 
virtual void moveEvent (QMoveEvent *event)
 This event handler can be reimplemented in a subclass to receive widget move events which are passed in the event parameter.
 
virtual void resizeEvent (QResizeEvent *event)
 This event handler can be reimplemented in a subclass to receive widget resize events which are passed in the event parameter.
 
virtual void closeEvent (QCloseEvent *event)
 This event handler is called with the given event when Qt receives a window close request for a top-level widget from the window system.
 
virtual void contextMenuEvent (QContextMenuEvent *event)
 This event handler, for event event, can be reimplemented in a subclass to receive widget context menu events.
 
virtual void showEvent (QShowEvent *event)
 This event handler can be reimplemented in a subclass to receive widget show events which are passed in the event parameter.
 
virtual bool nativeEvent (const QByteArray &eventType, void *message, qintptr *result)
 This special event handler can be reimplemented in a subclass to receive native platform events identified by eventType which are passed in the message parameter.
 
int metric (PaintDeviceMetric) const override
 Internal implementation of the virtual QPaintDevice::metric() function.
 
void initPainter (QPainter *painter) const override
 Initializes the painter pen, background and font to the same as the given widget's.
 
QPaintDeviceredirected (QPoint *offset) const override
 
QPaintersharedPainter () const override
 
virtual void inputMethodEvent (QInputMethodEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive Input Method composition events.
 
void create (WId=0, bool initializeWindow=true, bool destroyOldWindow=true)
 Creates a new widget window.
 
void destroy (bool destroyWindow=true, bool destroySubWindows=true)
 Frees up window system resources.
 
bool focusNextChild ()
 Finds a new widget to give the keyboard focus to, as appropriate for \uicontrol Tab, and returns true if it can find a new widget, or false if it can't.
 
bool focusPreviousChild ()
 Finds a new widget to give the keyboard focus to, as appropriate for \uicontrol Shift+Tab, and returns true if it can find a new widget, or false if it can't.
 
 QWidget (QWidgetPrivate &d, QWidget *parent, Qt::WindowFlags f)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Member Functions inherited from QPaintDevice
 QPaintDevice () noexcept
 
double getDecodedMetricF (PaintDeviceMetric metricA, PaintDeviceMetric metricB) const
 

Properties

bool tearOffEnabled
 whether the menu supports being torn off
 
QString title
 The title of the menu.
 
QIcon icon
 The icon of the menu.
 
bool separatorsCollapsible
 whether consecutive separators should be collapsed
 
bool toolTipsVisible
 whether tooltips of menu actions should be visible
 
- Properties inherited from QWidget
bool modal
 whether the widget is a modal widget
 
Qt::WindowModality windowModality
 which windows are blocked by the modal widget
 
bool enabled
 whether the widget is enabled
 
QRect geometry
 the geometry of the widget relative to its parent and excluding the window frame
 
QRect frameGeometry
 geometry of the widget relative to its parent including any window frame
 
QRect normalGeometry
 the geometry of the widget as it will appear when shown as a normal (not maximized or full screen) top-level widget
 
int x
 the x coordinate of the widget relative to its parent including any window frame
 
int y
 the y coordinate of the widget relative to its parent and including any window frame
 
QPoint pos
 the position of the widget within its parent widget
 
QSize frameSize
 the size of the widget including any window frame
 
QSize size
 the size of the widget excluding any window frame
 
int width
 the width of the widget excluding any window frame
 
int height
 the height of the widget excluding any window frame
 
QRect rect
 the internal geometry of the widget excluding any window frame
 
QRect childrenRect
 the bounding rectangle of the widget's children
 
QRegion childrenRegion
 the combined region occupied by the widget's children
 
QSizePolicy sizePolicy
 the default layout behavior of the widget
 
QSize minimumSize
 the widget's minimum size
 
QSize maximumSize
 the widget's maximum size in pixels
 
int minimumWidth
 the widget's minimum width in pixels
 
int minimumHeight
 the widget's minimum height in pixels
 
int maximumWidth
 the widget's maximum width in pixels
 
int maximumHeight
 the widget's maximum height in pixels
 
QSize sizeIncrement
 the size increment of the widget
 
QSize baseSize
 the base size of the widget
 
QPalette palette
 the widget's palette
 
QFont font
 the font currently set for the widget
 
QCursor cursor
 the cursor shape for this widget
 
bool mouseTracking
 whether mouse tracking is enabled for the widget
 
bool tabletTracking
 whether tablet tracking is enabled for the widget
 
bool isActiveWindow
 whether this widget's window is the active window
 
Qt::FocusPolicy focusPolicy
 the way the widget accepts keyboard focus
 
bool focus
 whether this widget (or its focus proxy) has the keyboard input focus
 
Qt::ContextMenuPolicy contextMenuPolicy
 how the widget shows a context menu
 
bool updatesEnabled
 whether updates are enabled
 
bool visible
 whether the widget is visible
 
bool minimized
 whether this widget is minimized (iconified)
 
bool maximized
 whether this widget is maximized
 
bool fullScreen
 whether the widget is shown in full screen mode
 
QSize sizeHint
 the recommended size for the widget
 
QSize minimumSizeHint
 the recommended minimum size for the widget
 
bool acceptDrops
 whether drop events are enabled for this widget
 
QString windowTitle
 the window title (caption)
 
QIcon windowIcon
 the widget's icon
 
QString windowIconText
 the text to be displayed on the icon of a minimized window
 
double windowOpacity
 The level of opacity for the window.
 
bool windowModified
 whether the document shown in the window has unsaved changes
 
Qt::LayoutDirection layoutDirection
 the layout direction for this widget.
 
bool autoFillBackground
 whether the widget background is filled automatically
 
QString styleSheet
 the widget's style sheet
 
QLocale locale
 the widget's locale
 
QString windowFilePath
 the file path associated with a widget
 
Qt::InputMethodHints inputMethodHints
 What input method specific hints the widget has.
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Friends

class QMenuBar
 
class QMenuBarPrivate
 
class QTornOffMenu
 
class QComboBox
 
class QtWidgetsActionPrivate
 
class QToolButtonPrivate
 
void qt_mac_emit_menuSignals (QMenu *menu, bool show)
 
void qt_mac_menu_emit_hovered (QMenu *menu, QAction *action)
 

Additional Inherited Members

- Public Types inherited from QWidget
enum  RenderFlag { DrawWindowBackground = 0x1 , DrawChildren = 0x2 , IgnoreMask = 0x4 }
 This enum describes how to render the widget when calling QWidget::render(). More...
 
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric {
  PdmWidth = 1 , PdmHeight , PdmWidthMM , PdmHeightMM ,
  PdmNumColors , PdmDepth , PdmDpiX , PdmDpiY ,
  PdmPhysicalDpiX , PdmPhysicalDpiY , PdmDevicePixelRatio , PdmDevicePixelRatioScaled ,
  PdmDevicePixelRatioF_EncodedA , PdmDevicePixelRatioF_EncodedB
}
 
- Public Slots inherited from QWidget
void setEnabled (bool)
 
void setDisabled (bool)
 Disables widget input events if disable is true; otherwise enables input events.
 
void setWindowModified (bool)
 
void setWindowTitle (const QString &)
 
void setStyleSheet (const QString &styleSheet)
 
void setFocus ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the \l{isActiveWindow()}{active window}.
 
void update ()
 Updates the widget unless updates are disabled or the widget is hidden.
 
void repaint ()
 Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the widget is hidden.
 
virtual void setVisible (bool visible)
 
void setHidden (bool hidden)
 Convenience function, equivalent to setVisible(!hidden).
 
void show ()
 Shows the widget and its child widgets.
 
void hide ()
 Hides the widget.
 
void showMinimized ()
 Shows the widget minimized, as an icon.
 
void showMaximized ()
 Shows the widget maximized.
 
void showFullScreen ()
 Shows the widget in full-screen mode.
 
void showNormal ()
 Restores the widget after it has been maximized or minimized.
 
bool close ()
 Closes this widget.
 
void raise ()
 Raises this widget to the top of the parent widget's stack.
 
void lower ()
 Lowers the widget to the bottom of the parent widget's stack.
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Protected Slots inherited from QWidget
void updateMicroFocus (Qt::InputMethodQuery query=Qt::ImQueryAll)
 Updates the widget's micro focus and informs input methods that the state specified by query has changed.
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Protected Attributes inherited from QPaintDevice
ushort painters
 

Detailed Description

The QMenu class provides a menu widget for use in menu bars, context menus, and other popup menus.

\inmodule QtWidgets

A menu widget is a selection menu. It can be either a pull-down menu in a menu bar or a standalone context menu. Pull-down menus are shown by the menu bar when the user clicks on the respective item or presses the specified shortcut key. Use QMenuBar::addMenu() to insert a menu into a menu bar. Context menus are usually invoked by some special keyboard key or by right-clicking. They can be executed either asynchronously with popup() or synchronously with exec(). Menus can also be invoked in response to button presses; these are just like context menus except for how they are invoked.

Definition at line 25 of file qmenu.h.

Constructor & Destructor Documentation

◆ QMenu() [1/2]

QMenu::QMenu ( QWidget * parent = nullptr)
explicit

Constructs a menu with parent parent.

Although a popup menu is always a top-level widget, if a parent is passed the popup menu will be deleted when that parent is destroyed (as with any other QObject).

Definition at line 1746 of file qmenu.cpp.

◆ QMenu() [2/2]

QMenu::QMenu ( const QString & title,
QWidget * parent = nullptr )
explicit

Constructs a menu with a title and a parent.

Although a popup menu is always a top-level widget, if a parent is passed the popup menu will be deleted when that parent is destroyed (as with any other QObject).

See also
title

Definition at line 1762 of file qmenu.cpp.

◆ ~QMenu()

QMenu::~QMenu ( )

Destroys the menu.

Definition at line 1781 of file qmenu.cpp.

Member Function Documentation

◆ aboutToHide

void QMenu::aboutToHide ( )
signal
Since
4.2

This signal is emitted just before the menu is hidden from the user.

See also
aboutToShow(), hide()

◆ aboutToShow

void QMenu::aboutToShow ( )
signal

This signal is emitted just before the menu is shown to the user.

See also
aboutToHide(), show()

◆ actionAt()

QAction * QMenu::actionAt ( const QPoint & pt) const

Returns the item at pt; returns \nullptr if there is no item there.

Definition at line 2251 of file qmenu.cpp.

◆ actionEvent()

void QMenu::actionEvent ( QActionEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Reimplemented in QTornOffMenu, and QTornOffMenu.

Definition at line 3542 of file qmenu.cpp.

◆ actionGeometry()

QRect QMenu::actionGeometry ( QAction * act) const

Returns the geometry of action act.

Definition at line 2261 of file qmenu.cpp.

◆ activeAction()

QAction * QMenu::activeAction ( ) const

Returns the currently highlighted action, or \nullptr if no action is currently highlighted.

Definition at line 2193 of file qmenu.cpp.

◆ addAction() [1/7]

QAction * QWidget::addAction ( const QIcon & icon,
const QString & text )

Definition at line 571 of file qwidget.cpp.

◆ addAction() [2/7]

template<typename... Args, typename = compatible_action_slot_args<Args...>>
QAction * QWidget::addAction ( const QIcon & icon,
const QString & text,
Args &&... args )
inline

Definition at line 584 of file qwidget.h.

◆ addAction() [3/7]

QAction * QWidget::addAction ( const QIcon & icon,
const QString & text,
const QObject * receiver,
const char * member,
Qt::ConnectionType type = Qt::AutoConnection )

Definition at line 574 of file qwidget.cpp.

◆ addAction() [4/7]

QAction * QWidget::addAction ( const QString & text)

Definition at line 570 of file qwidget.cpp.

◆ addAction() [5/7]

template<typename... Args, typename = compatible_action_slot_args<Args...>>
QAction * QWidget::addAction ( const QString & text,
Args &&... args )
inline

Definition at line 577 of file qwidget.h.

◆ addAction() [6/7]

QAction * QWidget::addAction ( const QString & text,
const QObject * receiver,
const char * member,
Qt::ConnectionType type = Qt::AutoConnection )

Definition at line 572 of file qwidget.cpp.

◆ addAction() [7/7]

void QWidget::addAction ( QAction * action)

Appends the action action to this widget's list of actions.

All QWidgets have a list of \l{QAction}s. However, they can be represented graphically in many different ways. The default use of the QAction list (as returned by actions()) is to create a context QMenu.

A QWidget should only have one of each action and adding an action it already has will not cause the same action to be in the widget twice.

The ownership of action is not transferred to this QWidget.

See also
removeAction(), insertAction(), actions(), QMenu

Definition at line 562 of file qwidget.cpp.

◆ addMenu() [1/3]

QMenu * QMenu::addMenu ( const QIcon & icon,
const QString & title )

Appends a new QMenu with icon and title to the menu.

The menu takes ownership of the menu. Returns the new menu.

See also
QWidget::addAction(), QMenu::menuAction()

Definition at line 1903 of file qmenu.cpp.

◆ addMenu() [2/3]

QMenu * QMenu::addMenu ( const QString & title)

Appends a new QMenu with title to the menu.

The menu takes ownership of the menu. Returns the new menu.

See also
QWidget::addAction(), QMenu::menuAction()

Definition at line 1890 of file qmenu.cpp.

◆ addMenu() [3/3]

QAction * QMenu::addMenu ( QMenu * menu)

This convenience function adds menu as a submenu to this menu.

It returns menu's menuAction(). This menu does not take ownership of menu.

See also
QWidget::addAction(), QMenu::menuAction()

Definition at line 1877 of file qmenu.cpp.

◆ addSection() [1/2]

QAction * QMenu::addSection ( const QIcon & icon,
const QString & text )
Since
5.1

This convenience function creates a new section action, i.e. an action with QAction::isSeparator() returning true but also having text and icon hints, and adds the new action to this menu's list of actions. It returns the newly created action.

The rendering of the hints is style and platform dependent. Widget styles can use the text and icon information in the rendering for sections, or can choose to ignore them and render sections like simple separators.

QMenu takes ownership of the returned QAction.

See also
QWidget::addAction()

Definition at line 1969 of file qmenu.cpp.

◆ addSection() [2/2]

QAction * QMenu::addSection ( const QString & text)
Since
5.1

This convenience function creates a new section action, i.e. an action with QAction::isSeparator() returning true but also having text hint, and adds the new action to this menu's list of actions. It returns the newly created action.

The rendering of the hint is style and platform dependent. Widget styles can use the text information in the rendering for sections, or can choose to ignore it and render sections like simple separators.

QMenu takes ownership of the returned QAction.

See also
QWidget::addAction()

Definition at line 1945 of file qmenu.cpp.

◆ addSeparator()

QAction * QMenu::addSeparator ( )

This convenience function creates a new separator action, i.e.

an action with QAction::isSeparator() returning true, and adds the new action to this menu's list of actions. It returns the newly created action.

QMenu takes ownership of the returned QAction.

See also
QWidget::addAction()

Definition at line 1921 of file qmenu.cpp.

◆ changeEvent()

void QMenu::changeEvent ( QEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 2962 of file qmenu.cpp.

◆ clear()

void QMenu::clear ( )

Removes all the menu's actions.

Actions owned by the menu and not shown in any other widget are deleted.

See also
removeAction()

Definition at line 2225 of file qmenu.cpp.

Referenced by org.qtproject.qt.android.QtActivityBase::onCreateOptionsMenu().

+ Here is the caller graph for this function:

◆ columnCount()

int QMenu::columnCount ( ) const
protected

If a menu does not fit on the screen it lays itself out so that it does fit.

It is style dependent what layout means (for example, on Windows it will use multiple columns).

This functions returns the number of columns necessary.

Definition at line 2243 of file qmenu.cpp.

◆ defaultAction()

QAction * QMenu::defaultAction ( ) const

Returns the current default action.

See also
setDefaultAction()

Definition at line 2074 of file qmenu.cpp.

◆ enterEvent()

void QMenu::enterEvent ( QEnterEvent * )
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 3496 of file qmenu.cpp.

◆ event()

bool QMenu::event ( QEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QObject.

Definition at line 2992 of file qmenu.cpp.

◆ exec() [1/3]

QAction * QMenu::exec ( )

Executes this menu synchronously.

This is equivalent to {exec(pos())}.

This returns the triggered QAction in either the popup menu or one of its submenus, or \nullptr if no item was triggered (normally because the user pressed Esc).

In most situations you'll want to specify the position yourself, for example, the current mouse position:

or aligned to a widget:

exec(somewidget.mapToGlobal(QPoint(0,0)));

or in reaction to a QMouseEvent *e:

exec(e->globalPosition().toPoint());

Definition at line 2621 of file qmenu.cpp.

◆ exec() [2/3]

QAction * QMenu::exec ( const QList< QAction * > & actions,
const QPoint & pos,
QAction * at = nullptr,
QWidget * parent = nullptr )
static

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Executes a menu synchronously.

The menu's actions are specified by the list of actions. The menu will pop up so that the specified action, at, appears at global position pos. If at is not specified then the menu appears at position pos. parent is the menu's parent widget; specifying the parent will provide context when pos alone is not enough to decide where the menu should go (e.g., with multiple desktops or when the parent is embedded in QGraphicsView).

The function returns the triggered QAction in either the popup menu or one of its submenus, or \nullptr if no item was triggered (normally because the user pressed Esc).

This is equivalent to:

QAction *at = actions[0]; // Assumes actions is not empty
for (QAction *a : std::as_const(actions))
static QPoint pos()
Returns the position of the cursor (hot spot) of the primary screen in global screen coordinates.
Definition qcursor.cpp:187
dialog exec()
QAction * at
See also
popup(), QWidget::mapToGlobal()

Definition at line 2712 of file qmenu.cpp.

◆ exec() [3/3]

QAction * QMenu::exec ( const QPoint & p,
QAction * action = nullptr )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Executes this menu synchronously.

Pops up the menu so that the action action will be at the specified global position p. To translate a widget's local coordinates into global coordinates, use QWidget::mapToGlobal().

This returns the triggered QAction in either the popup menu or one of its submenus, or \nullptr if no item was triggered (normally because the user pressed Esc).

Note that all signals are emitted as usual. If you connect a QAction to a slot and call the menu's exec(), you get the result both via the signal-slot connection and in the return value of exec().

Common usage is to position the menu at the current mouse position:

or aligned to a widget:

exec(somewidget.mapToGlobal(QPoint(0, 0)));

or in reaction to a QMouseEvent *e:

exec(e->globalPosition().toPoint());

When positioning a menu with exec() or popup(), bear in mind that you cannot rely on the menu's current size(). For performance reasons, the menu adapts its size only when necessary. So in many cases, the size before and after the show is different. Instead, use sizeHint() which calculates the proper size depending on the menu's current contents.

See also
popup(), QWidget::mapToGlobal()

Definition at line 2662 of file qmenu.cpp.

◆ focusNextPrevChild()

bool QMenu::focusNextPrevChild ( bool next)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 3083 of file qmenu.cpp.

◆ hideEvent()

void QMenu::hideEvent ( QHideEvent * )
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 2722 of file qmenu.cpp.

◆ hideTearOffMenu()

void QMenu::hideTearOffMenu ( )

This function will forcibly hide the torn off menu making it disappear from the user's desktop.

See also
showTearOffMenu(), isTearOffMenuVisible(), isTearOffEnabled()

Definition at line 2163 of file qmenu.cpp.

◆ hovered

void QMenu::hovered ( QAction * action)
signal

This signal is emitted when a menu action is highlighted; action is the action that caused the signal to be emitted.

Often this is used to update status information.

See also
triggered(), QAction::hovered()

◆ icon()

QIcon QMenu::icon ( ) const

Definition at line 1111 of file qmenu.cpp.

◆ initStyleOption()

void QMenu::initStyleOption ( QStyleOptionMenuItem * option,
const QAction * action ) const
protectedvirtual

Initialize option with the values from this menu and information from action.

This method is useful for subclasses when they need a QStyleOptionMenuItem, but don't want to fill in all the information themselves.

See also
QStyleOption::initFrom(), QMenuBar::initStyleOption()

Definition at line 1599 of file qmenu.cpp.

◆ insertMenu()

QAction * QMenu::insertMenu ( QAction * before,
QMenu * menu )

This convenience function inserts menu before action before and returns the menus menuAction().

See also
QWidget::insertAction(), addMenu()

Definition at line 1983 of file qmenu.cpp.

◆ insertSection() [1/2]

QAction * QMenu::insertSection ( QAction * before,
const QIcon & icon,
const QString & text )
Since
5.1

This convenience function creates a new title action, i.e. an action with QAction::isSeparator() returning true but also having text and icon hints. The function inserts the newly created action into this menu's list of actions before action before and returns it.

The rendering of the hints is style and platform dependent. Widget styles can use the text and icon information in the rendering for sections, or can choose to ignore them and render sections like simple separators.

QMenu takes ownership of the returned QAction.

See also
QWidget::insertAction(), addSection()

Definition at line 2049 of file qmenu.cpp.

◆ insertSection() [2/2]

QAction * QMenu::insertSection ( QAction * before,
const QString & text )
Since
5.1

This convenience function creates a new title action, i.e. an action with QAction::isSeparator() returning true but also having text hint. The function inserts the newly created action into this menu's list of actions before action before and returns it.

The rendering of the hint is style and platform dependent. Widget styles can use the text information in the rendering for sections, or can choose to ignore it and render sections like simple separators.

QMenu takes ownership of the returned QAction.

See also
QWidget::insertAction(), addSection()

Definition at line 2025 of file qmenu.cpp.

◆ insertSeparator()

QAction * QMenu::insertSeparator ( QAction * before)

This convenience function creates a new separator action, i.e.

an action with QAction::isSeparator() returning true. The function inserts the newly created action into this menu's list of actions before action before and returns it.

QMenu takes ownership of the returned QAction.

See also
QWidget::insertAction(), addSeparator()

Definition at line 2000 of file qmenu.cpp.

◆ isEmpty()

bool QMenu::isEmpty ( ) const
Since
4.2

Returns true if there are no visible actions inserted into the menu, false otherwise.

See also
QWidget::actions()

Definition at line 2207 of file qmenu.cpp.

◆ isTearOffEnabled()

bool QMenu::isTearOffEnabled ( ) const

Definition at line 2106 of file qmenu.cpp.

◆ isTearOffMenuVisible()

bool QMenu::isTearOffMenuVisible ( ) const

When a menu is torn off a second menu is shown to display the menu contents in a new window.

When the menu is in this mode and the menu is visible returns true; otherwise false.

See also
showTearOffMenu(), hideTearOffMenu(), isTearOffEnabled()

Definition at line 2118 of file qmenu.cpp.

◆ keyPressEvent()

void QMenu::keyPressEvent ( QKeyEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 3094 of file qmenu.cpp.

◆ leaveEvent()

void QMenu::leaveEvent ( QEvent * )
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 3507 of file qmenu.cpp.

◆ menuAction()

QAction * QMenu::menuAction ( ) const

Returns the action associated with this menu.

Definition at line 1069 of file qmenu.cpp.

◆ menuInAction()

static QMenu * QMenu::menuInAction ( const QAction * action)
inlinestatic

Returns the menu contained by action, or \nullptr if 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.

Definition at line 156 of file qmenu.h.

◆ mouseMoveEvent()

void QMenu::mouseMoveEvent ( QMouseEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 3457 of file qmenu.cpp.

◆ mousePressEvent()

void QMenu::mousePressEvent ( QMouseEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 2895 of file qmenu.cpp.

◆ mouseReleaseEvent()

void QMenu::mouseReleaseEvent ( QMouseEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 2925 of file qmenu.cpp.

◆ paintEvent()

void QMenu::paintEvent ( QPaintEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWidget.

Definition at line 2751 of file qmenu.cpp.

◆ platformMenu()

QPlatformMenu * QMenu::platformMenu ( )

Definition at line 3729 of file qmenu.cpp.

◆ popup()

void QMenu::popup ( const QPoint & p,
QAction * atAction = nullptr )

Displays the menu so that the action atAction will be at the specified global position p.

To translate a widget's local coordinates into global coordinates, use QWidget::mapToGlobal().

When positioning a menu with exec() or popup(), bear in mind that you cannot rely on the menu's current size(). For performance reasons, the menu adapts its size only when necessary, so in many cases, the size before and after the show is different. Instead, use sizeHint() which calculates the proper size depending on the menu's current contents.

See also
QWidget::mapToGlobal(), exec()

Definition at line 2310 of file qmenu.cpp.

◆ separatorsCollapsible()

bool QMenu::separatorsCollapsible ( ) const

Definition at line 3755 of file qmenu.cpp.

◆ setActiveAction()

void QMenu::setActiveAction ( QAction * act)

Sets the currently highlighted action to act.

Definition at line 2180 of file qmenu.cpp.

◆ setDefaultAction()

void QMenu::setDefaultAction ( QAction * act)

This sets the default action to act.

The default action may have a visual cue, depending on the current QStyle. A default action usually indicates what will happen by default when a drop occurs.

See also
defaultAction()

Definition at line 2064 of file qmenu.cpp.

◆ setIcon()

void QMenu::setIcon ( const QIcon & icon)

Definition at line 1116 of file qmenu.cpp.

◆ setNoReplayFor()

void QMenu::setNoReplayFor ( QWidget * noReplayFor)

Definition at line 3722 of file qmenu.cpp.

◆ setPlatformMenu()

void QMenu::setPlatformMenu ( QPlatformMenu * platformMenu)

Definition at line 3737 of file qmenu.cpp.

◆ setSeparatorsCollapsible()

void QMenu::setSeparatorsCollapsible ( bool collapse)

Definition at line 3761 of file qmenu.cpp.

◆ setTearOffEnabled()

void QMenu::setTearOffEnabled ( bool b)

Definition at line 2092 of file qmenu.cpp.

◆ setTitle()

void QMenu::setTitle ( const QString & title)

Definition at line 1097 of file qmenu.cpp.

◆ setToolTipsVisible()

void QMenu::setToolTipsVisible ( bool visible)

Definition at line 3794 of file qmenu.cpp.

◆ showTearOffMenu() [1/2]

void QMenu::showTearOffMenu ( )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Since
5.7

This function will forcibly show the torn off menu making it appear on the user's desktop under the mouse currsor.

See also
hideTearOffMenu(), isTearOffMenuVisible(), isTearOffEnabled()

Definition at line 2152 of file qmenu.cpp.

◆ showTearOffMenu() [2/2]

void QMenu::showTearOffMenu ( const QPoint & pos)
Since
5.7

This function will forcibly show the torn off menu making it appear on the user's desktop at the specified global position pos.

See also
hideTearOffMenu(), isTearOffMenuVisible(), isTearOffEnabled()

Definition at line 2133 of file qmenu.cpp.

◆ sizeHint()

QSize QMenu::sizeHint ( ) const
overridevirtual

\reimp

Reimplemented from QWidget.

Definition at line 2269 of file qmenu.cpp.

◆ timerEvent()

void QMenu::timerEvent ( QTimerEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QObject.

Definition at line 3519 of file qmenu.cpp.

◆ title()

QString QMenu::title ( ) const

Definition at line 1092 of file qmenu.cpp.

◆ toolTipsVisible()

bool QMenu::toolTipsVisible ( ) const

Definition at line 3788 of file qmenu.cpp.

◆ triggered

void QMenu::triggered ( QAction * action)
signal

This signal is emitted when an action in this menu is triggered.

action is the action that caused the signal to be emitted.

Normally, you connect each menu action's \l{QAction::}{triggered()} signal to its own custom slot, but sometimes you will want to connect several actions to a single slot, for example, when you have a group of closely related actions, such as "left justify", "center", "right justify".

Note
This signal is emitted for the main parent menu in a hierarchy. Hence, only the parent menu needs to be connected to a slot; sub-menus need not be connected.
See also
hovered(), QAction::triggered()

Friends And Related Symbol Documentation

◆ QComboBox

friend class QComboBox
friend

Definition at line 225 of file qmenu.h.

◆ QMenuBar

friend class QMenuBar
friend

Definition at line 222 of file qmenu.h.

◆ QMenuBarPrivate

friend class QMenuBarPrivate
friend

Definition at line 223 of file qmenu.h.

◆ qt_mac_emit_menuSignals

void qt_mac_emit_menuSignals ( QMenu * menu,
bool show )
friend

◆ qt_mac_menu_emit_hovered

void qt_mac_menu_emit_hovered ( QMenu * menu,
QAction * action )
friend

◆ QToolButtonPrivate

friend class QToolButtonPrivate
friend

Definition at line 227 of file qmenu.h.

◆ QTornOffMenu

friend class QTornOffMenu
friend

Definition at line 224 of file qmenu.h.

◆ QtWidgetsActionPrivate

friend class QtWidgetsActionPrivate
friend

Definition at line 226 of file qmenu.h.

Property Documentation

◆ icon

QIcon QMenu::icon
readwrite

The icon of the menu.

This is equivalent to the QAction::icon property of the menuAction().

By default, if no icon is explicitly set, this property contains a null icon.

Definition at line 33 of file qmenu.h.

◆ separatorsCollapsible

bool QMenu::separatorsCollapsible
readwrite

whether consecutive separators should be collapsed

Since
4.2

This property specifies whether consecutive separators in the menu should be visually collapsed to a single one. Separators at the beginning or the end of the menu are also hidden.

By default, this property is true.

Definition at line 34 of file qmenu.h.

◆ tearOffEnabled

bool QMenu::tearOffEnabled
readwrite

whether the menu supports being torn off

When true, the menu contains a special tear-off item (often shown as a dashed line at the top of the menu) that creates a copy of the menu when it is triggered.

This "torn-off" copy lives in a separate window. It contains the same menu items as the original menu, with the exception of the tear-off handle.

By default, this property is false.

Definition at line 31 of file qmenu.h.

◆ title

QString QMenu::title
readwrite

The title of the menu.

This is equivalent to the QAction::text property of the menuAction().

By default, this property contains an empty string.

Definition at line 32 of file qmenu.h.

◆ toolTipsVisible

bool QMenu::toolTipsVisible
readwrite

whether tooltips of menu actions should be visible

Since
5.1

This property specifies whether action menu entries show their tooltip.

By default, this property is false.

Definition at line 35 of file qmenu.h.


The documentation for this class was generated from the following files: