Qt右键菜单

先创建菜单指针:

cpp 复制代码
#include <QMenu>
QMenu* pMenu = nullptr;
pMenu = new QMenu(this);

设置菜单策略:

cpp 复制代码
this->setContextMenuPolicy(Qt::DefaultContextMenu);

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

cpp 复制代码
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方法:

cpp 复制代码
void contextMenuEvent(QContextMenuEvent* event) override;
void QtWidgetsApplication2::contextMenuEvent(QContextMenuEvent* event)
{
	pMenu->exec(QCursor::pos());
}
相关推荐
Nebula_g12 分钟前
线程进阶: 无人机自动防空平台开发教程(更新)
java·开发语言·数据结构·学习·算法·无人机
沐知全栈开发17 分钟前
滑块(Slider)在网页设计中的应用与优化
开发语言
又见野草23 分钟前
C++类和对象(下)
开发语言·c++
rit843249933 分钟前
基于MATLAB的环境障碍模型构建与蚁群算法路径规划实现
开发语言·算法·matlab
lang2015092837 分钟前
Java JSR 250核心注解全解析
java·开发语言
Wpa.wk40 分钟前
接口自动化测试 - 请求构造和响应断言 -Rest-assure
开发语言·python·测试工具·接口自动化
czhc11400756631 小时前
协议 25
java·开发语言·算法
ae_zr1 小时前
QT动态编译应用后,如何快速获取依赖
开发语言·qt
gjxDaniel1 小时前
Kotlin编程语言入门与常见问题
android·开发语言·kotlin
jiang_changsheng1 小时前
环境管理工具全景图与深度对比
java·c语言·开发语言·c++·python·r语言