模仿QQ之右键菜单

news2024/11/16 13:41:42

参考: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.coloradmin.cn/o/707745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 多态详解附图与代码

一、多态 1.1 什么是多态 多态是面向对象编程中的一个重要概念,它允许在不同类型的对象上执行相同的操作,并根据对象的实际类型来决定具体执行哪个操作。通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象…

2019年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

🏠个人主页:fo安方的博客✨ 💂个人简历:大家好,我是fo安方,考取过HCIE Cloud Computing、CCIE Security、CISP等证书。🐳 💕兴趣爱好:b站天天刷,题目常常看&a…

【排序算法】堆排序

堆与一维数组 建立堆与一维数组的联系 堆排序并不是直接对堆节点Node类型排序,而是通过建立索引之间的关系,对一维数组排序。 称之为堆排序,是因为节点索引值之间的关系与完全二叉树的非常类似,而树又称堆。 设根节点为i&#xff…

【C#】委托、匿名方法、Lambda表达式和事件

【C#】委托、匿名方法、Lambda表达式和事件 委托 什么是委托? 委托和类一样,是用户自定义类型,是方法(函数)的抽象。通俗讲,委托就是 自定义类型的方法(函数)的代表。 声明委托 …

HTML+CSS+JavaScript华为主页

样式&#xff1a; HTMLCSSJavaScript仿华为首页 HTML: <!DOCTYPE html> <html><head><meta charset"utf-8"><link rel"stylesheet" type"text/css" href"Homepage.css"/><script type"text/ja…

NextJs下浅尝Prisma+Sqlite+逆向生成数据模型

1.安装prisma npm install prisma/client 2.创建schema.prisma npx prisma init 执行完命令后创建文件目录如下&#xff1a; 3.配置数据库连接 generator client {provider "prisma-client-js" }datasource db {provider "sqlite" //数据库类型 这…

libevent实践07:监听服务器并管理客户端

简介 函数bufferevent_new struct bufferevent * bufferevent_new(evutil_socket_t fd,bufferevent_data_cb readcb, bufferevent_data_cb writecb,bufferevent_event_cb eventcb, void *cbarg) 参数说明&#xff1a; fd:新客户端的文件描述符 readcb&#xff1a;一个函数指…

【Redis的优化】

目录 一、Redis 高可用二、 Redis 持久化2.1、Redis 提供两种方式进行持久化2.2、RDB 持久化1. 触发条件&#xff08;1&#xff09;手动触发&#xff08;2&#xff09;自动触发 2. 执行流程3. 启动时加载 2.3、AOF 持久化1. 开启AOF2. 执行流程(1&#xff09;命令追加(append)(…

深入理解 Linux 物理内存分配全链路实现

目录 内核物理内存分配接口 物理内存分配内核源码实现 内存分配的心脏 __alloc_pages prepare_alloc_pages 内存慢速分配入口 alloc_pages_slowpath 总结 内核物理内存分配接口 在物理内存分配成功的情况下&#xff0c; alloc_pages&#xff0c;alloc_page 函数返回的都是指…

2022最常用密码公布,你的账户安全吗?

密码管理工具 NordPass 公布了 2022 年最常用密码列表&#xff0c;以及破解密码所需的时间。该研究基于对来自 30 个不同国家 / 地区的 3TB 数据库的分析。研究人员将数据分为不同的垂直领域&#xff0c;使得其能够根据国家和性别进行统计分析。今年的研究主要聚焦于文化如何影…

工业软件对于现代制造业的生产效率和质量有何影响?

工业软件在提高现代制造业的生产力和质量方面发挥着至关重要的作用。比如&#xff1a; 流程自动化&#xff1a;工业软件可以实现各种制造流程的自动化&#xff0c;消除手动任务并减少人为错误。自动化通过简化操作、缩短周期时间和提高整体效率来提高生产力。它还可以最大限度地…

vue3和element plus踩坑

1.有说vue版本有两个&#xff0c;但检查之后发现只有一个&#xff0c;且为vue3的版本 2.也有说是因为命名的问题&#xff0c;组件名和页面名一致 最后发现是因为 在main.js里面引入element plus 使用这种use方式会报错&#xff0c;虽然也不知道为什么 import { createApp } …

《计算机系统与网络安全》第十一章 入侵检测与防御技术

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

Dell-Precision5520 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件配置 硬件型号驱动情况 主板Dell-Precision5520 处理器Intel Core i7-7820HQ已驱动 内存Micron 2400MHz DDR4 16GB x2已驱动 硬盘Samsung 970EVO 512GB已驱动 显…

Java中volatile的作用和原理

用法 volatile 是 Java 中的关键字&#xff0c;直接修饰成员变量&#xff0c;不能和 final 关键字同时使用。 private volatile boolean flag false;作用 当一个变量被声明为volatile时&#xff0c;它可以确保以下两点&#xff1a; 保证可见性&#xff1a;当一个线程修改了…

三维天地助力高校实验室数字化智能决策分析

近年来&#xff0c;随着检验检测行业技术的不断发展&#xff0c;高校实验室管理的复杂程度也在不断提高。由于传统的检测实验室日常工作任务繁重、费时费力&#xff0c;存在数据或信息的手动录入、人工计算&#xff0c;纸质文档资料的长期保存&#xff0c;数据快速汇总困难等诸…

大数据面试题:Kafka的Message包括哪些信息

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 参考答案&#xff1a; 一个 Kafka 的 Message 由一个固定长度的 header 和一个变长的消息体 body 组成&#xff0c;header 部分由一个字节的 magic&…

Android 12 LED 定制灯效开发小结

文章目录 背景&#xff1a;Android 10 的设备上测试正常Android 12 中目前出现无法闪烁的问题电量变化广播监听总结参考 背景&#xff1a; 在定制的Android 10系统中&#xff0c;通过修改 Framwork 层的代码后&#xff0c;调用标准的接口后&#xff0c;能实现 LED 灯的闪烁灯效…

抖音旋转验证码分析

旋转验证码类型challenge_code为99996&#xff0c; 拿到的旋转验证码通常都是如下&#xff1a; 待旋转的图片&#xff1a; 旋转的背景图&#xff1a; 加密分析过程 可以参考&#xff1a;https://blog.csdn.net/weixin_38819889/article/details/129727564 旋转的难点在于如何…

英国 Tortoise Media发布2023年全球AI指数排名;美团宣布完成收购光年之外

&#x1f989; AI新闻 &#x1f680; 美团宣布完成收购光年之外&#xff0c;加强人工智能竞争力 摘要&#xff1a;美团在公告中宣布于2023年6月29日盘后收购光年之外的全部权益&#xff0c;以加强其在快速增长的人工智能行业中的竞争力。光年之外是中国领先的通用人工智能创新…