QContextMenuEvent 是 Qt 框架中的一个类,用于表示上下文菜单事件。上下文菜单通常是在用户右击某个部件时弹出的菜单。QContextMenuEvent 包含了与上下文菜单事件相关的信息,例如鼠标点击的位置、触发事件的部件等。

#include <QApplication>
#include <QWidget>
#include <QMenu>
#include <QContextMenuEvent>
#include <QDebug>

class MyWidget : public QWidget {
public:
    MyWidget(QWidget *parent = nullptr) : QWidget(parent) {}

protected:
    void contextMenuEvent(QContextMenuEvent *event) override {
        // 创建一个上下文菜单
        QMenu menu(this);

        // 添加菜单项
        QAction *action1 = menu.addAction("Action 1");
        QAction *action2 = menu.addAction("Action 2");

        // 显示菜单,并获取用户选择的菜单项
        QAction *selectedAction = menu.exec(event->globalPos());

        // 根据用户的选择执行相应的操作
        if (selectedAction == action1) {
            qDebug() << "Action 1 selected";
        } else if (selectedAction == action2) {
            qDebug() << "Action 2 selected";
        }
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    MyWidget widget;
    widget.show();

    return app.exec();
}
作者:admin  创建时间:2025-03-10 10:17
最后编辑:admin  更新时间:2025-03-10 10:18