模仿QQ之右键菜单

参考:QT多级菜单 - 知乎 (zhihu.com)

运行效果图: 

 关键代码: 

void personMenu::contextMenuEvent(QContextMenuEvent *event)
{//我完全可以写出一个代码生成器来把这些代码生成出来。parent=new QMenu(this);parent->addAction(QIcon(":/images/Menu/_消息.png"),"发送即时消息");parent->addAction("发送电子邮件");parent->addSeparator();parent->addAction("查看资料");parent->addAction("消息免打扰");parent->addAction("分享他的名片");parent->addAction(QIcon(":/images/Menu/时钟.png"),"消息记录");parent->addSeparator();QMenu * son1=parent->addMenu(QString("设置权限"));son1->addAction("屏蔽此人消息");son1->addAction("在线对其隐身");parent->addAction(QIcon(":/images/Menu/编辑.png"),"修改好友备注");QMenu * son2=parent->addMenu(QIcon(":/images/Menu/管理人员.png"),QString("移动联系人至"));son2->addAction("黑名单");
//    parent->addAction(QIcon(""),"");
//    parent->addAction("");parent->addAction(QIcon(":/images/Menu/删除.png"),"删除好友");parent->addAction("举报此用户");QMenu * son3=parent->addMenu(QIcon(":/images/Menu/管理人员.png"),"好友管理");son3->addAction(QIcon(":/images/Menu/爱心.png"),"设置特别关心");son3->addAction(QIcon(":/images/Menu/推荐人.png"),"给TA推荐好友");son3->addAction("好友上线提醒");son3->addAction(QIcon(":/images/Menu/社区管理_客户管理.png"),"好友管理器");parent->addSeparator();QMenu * son4=parent->addMenu(QIcon(":/images/Menu/快捷.png"),"会员快捷功能");son4->addAction(QIcon(":/images/Menu/个性装扮.png"),"设置QQ装扮");son4->addSeparator();son4->addAction(QIcon(":/images/Menu/皇冠.png"),"会员群特权");son4->addAction("群克隆");son4->addAction("好友克隆");son4->addAction("好友上线通知");son4->addSeparator();son4->addAction(QIcon(":/images/Menu/_会员卡.png"),"开通会员");son4->addAction("索要会员");parent->addAction(QIcon(":/images/Menu/形状-星形.png"),"进入QQ空间");parent->setAttribute(Qt::WA_TranslucentBackground,true);parent->setWindowOpacity(0.85);son1->setAttribute(Qt::WA_TranslucentBackground,true);son1->setWindowOpacity(0.85);son2->setAttribute(Qt::WA_TranslucentBackground,true);son2->setWindowOpacity(0.85);son3->setAttribute(Qt::WA_TranslucentBackground,true);son3->setWindowOpacity(0.85);son4->setAttribute(Qt::WA_TranslucentBackground,true);son4->setWindowOpacity(0.85);parent->move(cursor().pos());parent->show();return QWidget::contextMenuEvent(event);
}

源码:

Menu/QMenu.zip · 开心/Qt与学习通页面 - 码云 - 开源中国 (gitee.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/4752.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【玩转循环】探索Python中的无限可能性

前言 循环可能是每个编程语言中使用比较多的语法了,如果能合理利用好循环,就会出现意想不到的结果,大大地减少代码量,让机器做那些简单枯燥的循环过程,今天我将为大家分享 python 中的循环语法使用。🚗&am…

【NOSQL】redis哨兵模式、集群搭建

目录 一、redis高可用一、Redis主从复制1.1主从复制的作用1.2主从复制流程 二、搭建Rdeis主从复制2.1安装redis2.1.1环境准备2.1.2安装redis2.1.3设置环境变量2.1.4定义systemd服务管理脚本 2.2修改 Redis 配置文件(Master节点操作2.3修改 Redis 配置文件&#xff0…

SpringBoot项目-双人对战五子棋实验报告

简单五子棋Web项目报告 课 程 Web应用程序设计 项目名称 简单双人五子棋对战 成绩 专业班级 XXX 组别 无 学号 XXX 指导教师 XXX 姓 名 XXX 同组人姓名 无 完成日期 XXX 功能描述 1.用户的注册及登录功能 玩家可以在完成游戏账户的注册&#xff0c…

CentOS Stream 10 计划已启动,即将进入初始化阶段

导读 但初始化的 CentOS Stream 10 暂时不会对外开放,也不会有太多活跃信息。从 Fedora 周期的规律来看,至少还有六个月的时间,CentOS Stream 10 才会正式启动开发流程,接受来自外部的贡献。周五的公告指出:你会看到 C…

STM32文档

一、寄存器缩写 二、存储器和总线构架 DMA,全称为:Direct Memory Access,即直接存储器访问 简而言之,DMA就是将一个内存里的数据搬运到另一个内存里,此过程无需CPU直接控制输出 系统架构存储器组织存储器映射&#xf…

TypeScript 【type】关键字的进阶使用方式

导语: 在前面章节中,我们了解到 TS 中 type 这个关键字,常常被用作于,定义 类型别名,用来简化或复用复杂联合类型的时候使用。同时也了解到 为对象定义约束接口类型 的时候所使用的是 Interfaces。 其实对于前面&#…

从架构角度看网络安全:数字化时代企业如何构建防御体系?

导语 | 数字化时代,网络安全已经成为企业发展的重中之重,通过体系化的安全建设,企业可以从容应对愈加复杂的网络安全挑战。今天,我们特邀了腾讯云 TVP、赛博英杰科技董事长 谭晓生老师,他将从资深技术专家视角解读如何…

【软考网络管理员】2023年软考网管初级常见知识考点(22)- 交换机配置及命令

涉及知识点 华为交换机配置命令大全,交换机设备参数设置 , 交换机路由器的基本配置,交换机命令汇总 , VLAN 配置 , GVRP 配置 , STP 配置,软考网络管理员常考知识点,软考网络管理员…

STM32外设系列—BH1750

文章目录 一、BH1750简介二、BH1750原理图三、BH1750数据手册3.1 指令集3.2 IIC通信读/写 四、BH1750程序设计4.1 IIC程序4.2 BH1750初始化程序4.3 读取BH1750测量结果4.4 获取光照强度4.5 相关宏定义 五、应用实例六、拓展应用6.1 实时调节LED亮度6.2 实时调整颜色阈值 一、BH…

【C#】云LIS检验医学信息系统源码

系统基于云计算为医院机构改善患者服务质量提供了强有力的支持,“以患者为核心”这一理念得到了充分实现,基于云计算的高效区域医疗信息服务,会为医疗行业带来跨时代的变革。 一、使用技术框架说明 开发语言:C# 6.0、JavaScript …

css 背景颜色级别高于背景图

<div class"bg-parent"> <img :src"employeeImg" class"bg-url" /> <div class"bg"> <el-icon class"plus-icon"> <Plus /> </el-icon> </div> </div> .bg-parent{ //父级…

Tomcat的概念及部署

文章目录 一.Tomcat的概述1.Tomcat介绍2.Tomcat 的主要特点 二.Tomcat的核心组件1.核心组件关系图2.核心组件的介绍2.1 Web容器2.2 servlet容器2.3 JSP容器2.4 Tomcat核心组件的请求方式&#xff08;交互方式&#xff09;2.4.1 Web容器2.4.2 JSP容器2.4.3 serverlet容器 2.5 To…