QContextMenuEvent Class

The QContextMenuEvent class contains parameters that describe a context menu event. More...

Header: #include <QContextMenuEvent>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: QInputEvent

Public Types

enum Reason { Mouse, Keyboard, Other }

Public Functions

QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos)
QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos, const QPoint &globalPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier)
const QPoint &globalPos() const
int globalX() const
int globalY() const
const QPoint &pos() const
QContextMenuEvent::Reason reason() const
int x() const
int y() const

Detailed Description

Context menu events are sent to widgets when a user performs an action associated with opening a context menu. The actions required to open context menus vary between platforms; for example, on Windows, pressing the menu button or clicking the right mouse button will cause this event to be sent.

When this event occurs it is customary to show a QMenu with a context menu, if this is relevant to the context.

Member Type Documentation

enum QContextMenuEvent::Reason

This enum describes the reason why the event was sent.

ConstantValueDescription
QContextMenuEvent::Mouse0The mouse caused the event to be sent. Normally this means the right mouse button was clicked, but this is platform dependent.
QContextMenuEvent::Keyboard1The keyboard caused this event to be sent. On Windows, this means the menu button was pressed.
QContextMenuEvent::Other2The event was sent by some other means (i.e. not by the mouse or keyboard).

Member Function Documentation

QContextMenuEvent::QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos)

Constructs a context menu event object with the accept parameter flag set to false.

The reason parameter must be QContextMenuEvent::Mouse or QContextMenuEvent::Keyboard.

The pos parameter specifies the mouse position relative to the receiving widget.

The globalPos() is initialized to QCursor::pos(), which may not be appropriate. Use the other constructor to specify the global position explicitly.

QContextMenuEvent::QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos, const QPoint &globalPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier)

Constructs a context menu event object with the accept parameter flag set to false.

The reason parameter must be QContextMenuEvent::Mouse or QContextMenuEvent::Keyboard.

The pos parameter specifies the mouse position relative to the receiving widget. globalPos is the mouse position in absolute coordinates. The modifiers holds the keyboard modifiers.

const QPoint &QContextMenuEvent::globalPos() const

Returns the global position of the mouse pointer at the time of the event.

See also x(), y(), and pos().

int QContextMenuEvent::globalX() const

Returns the global x position of the mouse pointer at the time of the event.

See also globalY() and globalPos().

int QContextMenuEvent::globalY() const

Returns the global y position of the mouse pointer at the time of the event.

See also globalX() and globalPos().

const QPoint &QContextMenuEvent::pos() const

Returns the position of the mouse pointer relative to the widget that received the event.

See also x(), y(), and globalPos().

QContextMenuEvent::Reason QContextMenuEvent::reason() const

Returns the reason for this context event.

int QContextMenuEvent::x() const

Returns the x position of the mouse pointer, relative to the widget that received the event.

See also y() and pos().

int QContextMenuEvent::y() const

Returns the y position of the mouse pointer, relative to the widget that received the event.

See also x() and pos().

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.