当前位置:首页 > 编程笔记 > 正文
已解决

Qt右键菜单

来自网友在路上 196896提问 提问时间:2023-11-19 23:02:12阅读次数: 96

最佳答案 问答题库968位专家为你答疑解惑

先创建菜单指针:

#include <QMenu>
QMenu* pMenu = nullptr;
pMenu = new QMenu(this);

设置菜单策略:

this->setContextMenuPolicy(Qt::DefaultContextMenu);

创建动作并将动作添加进菜单,通过槽函数设置应该进行的相关动作:

QAction* pA1 = new QAction(u8"动作一");pMenu->addAction(pA1);QAction* pA2 = new QAction(u8"动作二");pMenu->addAction(pA2);QAction* pA3 = new QAction(u8"动作三");pMenu->addAction(pA3);QAction* pA4 = new QAction(u8"动作四");pMenu->addAction(pA4);connect(pA1, &QAction::triggered, [=] {QMessageBox::information(this, u8"标题",u8"动作一");});connect(pA2, &QAction::triggered, [=] {QMessageBox::information(this, u8"标题", u8"动作二");});connect(pA3, &QAction::triggered, [=] {QMessageBox::information(this, u8"标题", u8"动作三");});connect(pA4, &QAction::triggered, [=] {QMessageBox::information(this, u8"标题", u8"动作四");});

重载contextMenuEvent方法:

void contextMenuEvent(QContextMenuEvent* event) override;
void QtWidgetsApplication2::contextMenuEvent(QContextMenuEvent* event)
{pMenu->exec(QCursor::pos());
}

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Qt右键菜单":http://eshow365.cn/6-39731-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!