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());
}
相关推荐
在繁华处5 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
Unbelievabletobe5 小时前
解决了股票api接口盘后数据更新慢的问题
大数据·开发语言·python
不会C语言的男孩6 小时前
C++ Primer 第2章:变量和基本类型
开发语言·c++
在繁华处7 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
云泽8088 小时前
C++ 可调用对象通关指南:深度解析 Lambda 表达式、function 包装器与 bind 绑定器
开发语言·c++·算法
星恒随风9 小时前
Python 基础语法详解(一):从表达式、变量到数据类型
开发语言·笔记·python·学习
888CC++9 小时前
java 并发编程
java·开发语言·python
罗超驿9 小时前
18.Web API 实战:元素与表单属性的获取和修改
开发语言·前端·javascript
被子你放开我10 小时前
CRMEB PHP多商户升级4.0太麻烦了
开发语言·php
阿里嘎多学长10 小时前
2026-06-01 GitHub 热点项目精选
开发语言·程序员·github·代码托管