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());
}
相关推荐
_.Switch13 分钟前
Python 自动化运维持续优化与性能调优
运维·开发语言·python·缓存·自动化·运维开发
徐*红13 分钟前
java 线程池
java·开发语言
尚学教辅学习资料14 分钟前
基于SSM的养老院管理系统+LW示例参考
java·开发语言·java毕设·养老院
小丑西瓜66615 分钟前
qt ui设计案例--登录界面
qt·ui·c/c++·qss
1 9 J16 分钟前
Java 上机实践4(类与对象)
java·开发语言·算法
Code apprenticeship16 分钟前
Java面试题(2)
java·开发语言
J不A秃V头A19 分钟前
Python爬虫:获取国家货币编码、货币名称
开发语言·爬虫·python
SRY122404193 小时前
javaSE面试题
java·开发语言·面试
无尽的大道3 小时前
Java 泛型详解:参数化类型的强大之处
java·开发语言
ZIM学编程3 小时前
Java基础Day-Sixteen
java·开发语言·windows