QContextMenuEvent Class
QContextMenuEvent 类包含描述上下文菜单事件的参数。更多
| 头文件: | #include <QContextMenuEvent> |
| CMake.QContextMenuEvent | find_package(Qt6 REQUIRED COMPONENTS Gui)target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 继承: | QInputEvent |
- 所有成员(包括继承成员)的列表
- 已废弃成员
- QContextMenuEvent 属于事件类。
公共类型
| enum | Reason { Mouse, Keyboard, Other } |
公共函数
| 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 |
详细说明
当用户执行与打开上下文菜单相关的操作时,上下文菜单事件会被发送至部件。打开上下文菜单所需的操作因平台而异;例如,在 Windows 中,按下菜单按钮或单击鼠标右键将导致发送此事件。
当该事件发生时,如果上下文菜单相关,通常会显示一个带有上下文菜单的QMenu 。
成员类型文档
enum QContextMenuEvent::Reason
该枚举描述了发送事件的原因。
| 常量 | 值 | 说明 |
|---|---|---|
QContextMenuEvent::Mouse | 0 | 鼠标导致事件被发送。通常这意味着鼠标右键被点击,但这取决于平台。 |
QContextMenuEvent::Keyboard | 1 | 键盘触发了该事件。在 Windows 系统中,这意味着按下了菜单按钮。 |
QContextMenuEvent::Other | 2 | 事件是通过其他方式发送的(即不是通过鼠标或键盘)。 |
成员函数文档
QContextMenuEvent::QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos, const QPoint &globalPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier)
构造一个上下文菜单事件对象,并将接受参数标志设置为 false。
reason 参数必须是QContextMenuEvent::Mouse 或QContextMenuEvent::Keyboard 。
pos 参数指定相对于接收 widget 的鼠标位置。globalPos 是以绝对坐标表示的鼠标位置。modifiers 包含键盘修改器。
const QPoint &QContextMenuEvent::globalPos() const
返回事件发生时鼠标指针的全局位置。
int QContextMenuEvent::globalX() const
返回事件发生时鼠标指针的全局 x 位置。
int QContextMenuEvent::globalY() const
返回事件发生时鼠标指针的全局 y 位置。
const QPoint &QContextMenuEvent::pos() const
返回鼠标指针相对于接收事件的部件的位置。
QContextMenuEvent::Reason QContextMenuEvent::reason() const
返回该上下文事件的原因。
int QContextMenuEvent::x() const
返回鼠标指针相对于接收事件的部件的 x 位置。
int QContextMenuEvent::y() const
返回鼠标指针相对于接收事件的部件的 y 位置。
© 2025 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.