QMenu代码生成器

news2024/11/15 5:42:55

 共4种选项:

文本:输入父对象名,文本即可

文本+图标:输入父对象名,文本,图标

文本+图标+菜单:输入父对象名,子对象名,文本,图标

文本+菜单:输入父对象名,子对象名,文本

不需要填的为空即可

虽然代码很简单,但感觉效率提升了。

可以更方便地写关于菜单的程序。

比如:我可以跟快速地生成这样的菜单。

 这是相关程序:

    parent->addAction("发送群消息");
    parent->addAction("标为未读");
    parent->addAction(QIcon(":/images/Information.png"),"查看群资料");

    QMenu * son1 = parent->addMenu("群消息设置");

    son1->addAction("接收消息并提醒");
    son1->addAction("接收消息但不提醒");
    son1->addAction("收进群助手且不提醒");
    son1->addAction("屏蔽群消息");
    son1->addAction("屏蔽群内图片");
    son1->addAction(QIcon(":/images/关注.png"),"设置本群特别关注");


    parent->addAction("查看消息记录");
    parent->addAction("设为置顶");
    parent->addAction("从会话列表移除");
    parent->addAction(QIcon(":/images/编辑.png"),"修改群聊备注");

    parent->addAction("如何升级");
    parent->addAction("退出该群");
    parent->addAction("举报该群");

核心代码:

void code_generation::on_pushButton_clicked()
{

    int value=ui->comboBox->currentIndex()+1;
    QString text=ui->line_text->text();
    QString path=ui->line_path->text();
    QString obj=ui->line_object->text();
    QString son_obj=ui->line_son_obj->text();
    QString goal;
    if(value==1){
        goal=QString("%1->addAction(\"%2\");").arg(obj).arg(text);
    }
    else if(value==2){
        goal=QString("%1->addAction(QIcon(\"%2\"),\"%3\");").arg(obj).arg(path).arg(text);
    }
    else if(value==3){
        goal=QString("QMenu * %0 = %1->addMenu(QIcon(\"%2\"),\"%3\");").arg(son_obj).arg(obj).arg(path).arg(text);
    }
    else if(value==4){
        goal=QString("QMenu * %0 = %1->addMenu(\"%2\");").arg(son_obj).arg(obj).arg(text);
    }
    ui->plainTextEdit->appendPlainText(goal);
}

源码:

Qt与学习通页面: 记录与Qt相关的代码 - Gitee.com

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

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

相关文章

14 | count(*)这么慢,我该怎么办?

一下内容出自《MySQL 实战 45 讲》 14 | count(*)这么慢,我该怎么办? count(*) 的实现方式 不同的 MySQL 引擎中,count(*) 有不同的实现方式。 MyISAM 引擎把一个表的总行数存在了磁盘上,执行 count(*) 的时候会直接返回这个数…

斯坦福大学吴佳俊:通过自然监督编码理解视觉世界

导读 在智源大会的生成模型论坛上,斯坦福大学助理教授吴佳俊带来了精彩的演讲 “通过自然监督编码理解视觉世界”(Understanding the Visual World Through Naturally Supervised Code)。此次演讲从二维图像拓展到三维世界,从人类…

linux高并发网络编程开发(xml json)16_xml和Json相关api及文件解析制作

pdf详细版 01 学习目标 xml xml基础语法和规范C程序中如何使用xml开源库借助开源库,在C程序中生成xml文件已知一个xml文件,如何借助开源库解析xml文件数据 Json json的基础语法和规范C程序中如何使用json开源库 - cjson使用cjson生成json文件已知一个json文件,使用cjson库解析…

列存储、行存储

一、定义 1.1定义 Sybase在2004年左右就推出了列存储的Sybase IQ数据库系统,主要用于在线分析、数据挖掘等查询密集型应用。列存储,缩写为DSM,相对于NSM(N-ary storage model),其主要区别在于: DSM将所有记录中相同字段的数据聚…

【AUTOSAR】BMS开发实际项目讲解(二十三)----电池管理系统高压互锁保护

高压互锁保护 关联的系统需求 TSR-BMS-6101、TSR-BMS-6102、TSR-BMS-6103、TSR-BMS-6104、TSR-BMS-6105、TSR-BMS-6106、TSR-BMS-6107、TSR-BMS-6108、TSR-BMS-6109、TSR-BMS-6110、TSR-BMS-6111; TSR-BMS-6201; TSR-BMS-6301; TSR-BMS-S101、TSR-BMS-S102、TSR-BMS-S103、TS…

AutoSAR系列讲解(入门篇)4.3-BSW的Communication功能

一、架构与术语解释 BSW中以后每一节我都会放上一张模块图,所以就先上图: 由于汽车上一般都使用CAN总线,图中的bus大家可以就当成CAN来看待,如果使用的是LIN或者其他的,也相应的换成其总线看待就行。后续在实践篇中将会…

你需要了解的 50 个 ChatGPT 统计数据和事实

Rest assured that with the ChatGPT statistics you’re about to read, you’ll confirm that the popular chatbot from OpenAI is just the beginning of something bigger. Since its launch in November 2022, ChatGPT has broken unexpected records. For example, it r…

数据结构之串

1.串的基本概念 • 一个串是由n(n≥0)个字符组成的有限序列,记为s“s0s1 ⋯ sn-1”,其 中,s是串名,双引号括起来的字符序列s0s1 ⋯ sn-1是串值。 • 一个字符在串中的位置称为该字符在串中的序号&#xff…

微搭低代码实现表单打印功能

目录 1 引入第三方库2 搭建页面3 实现打印4 实现效果总结 在我们的日常开发场景中,表单打印是一个比较常见的场景,微搭本身不带打印功能,我们需要借助一个第三方的库来实现打印。 1 引入第三方库 在微搭中如果需要引入第三方库的&#xff0…

阿里云免费云服务器领取教程

阿里云推出了免费试用中心,提供超百款免费试用云产品,个人用户与企业用户均可免费试用,云服务器最长免费体验3个月! 一、活动地址 阿里云免费试用中心 二、活动对象 满足以下全部条件的阿里云用户: 1、阿里云注册会…

JS模块化规范及进化史

模块化规范及进化史 按照功能和需求分成各个模块,最后再把所有模块合并在一起。当然现在基于webpack vue/react,模块化开发很重要。某个功能板块单独写成一个模块,然后把模块合在一起,最后把整个页面的功能实现。方便团队管理 小插…

stunnel-加密通道-squid-IP缓存服务器-openssl自签名证书

文章目录 1.安装squid2.管理squid服务3.安装Stunnel服务器端4.安装Stunnel客户端5.在目标使用位置开启代理 1.安装squid yum install squid 2.管理squid服务 systemctl start squid systemctl stop squid systemctl status squid 查看端口 netstat -lntpo | grep 8**** 修改配…

集成增益采样电路误差计算--适用INA214

一、 一般集成电路结构如下: 二、 典型的计算步骤如下: 主要误差来源:采样电阻R-shunt,集成增益运放,ADC误差。 采样电阻误差 误差项包括常温下电阻的精度X1%,电阻的温漂值X2% 误差百分比为:…

《C++ Primer》--学习11

关联容器中的元素是按关键字来保存和访问的 两个主要的关联容器类型是 map 和 set。map 中的一个关键字-值(key - value)对:关键字起到索引作用,值则表示与索引相关联的数据。set 中每个元素只包含一个关键字; 以下八…

Java-数据结构(一)

这里写目录标题 前言一、为什么需要数据结构?1、低效的操作2、占用过多的内存空间3、困难的数据操作 二、枚举(Enumeration)1、定义2、关键字3、适用场景 三、 位集合(BitSet)1、定义2、方法3、适用场景 四、向量&…

文件操作 -- C语言

在之前学习的时候,我们可以发现当程序运行完,我们之前保存的数据就会消失,再次运行时还得重新输入,为了使我们保存的数据在下次运行时还能使用,我们这篇文章来学习一下怎么使用文件操作,将我们的数据保存在…

SQL14 操作符混合运用

select device_id,gender,age,university,gpa from user_profile where university山东大学 and gpa>3.5 or university复旦大学 and gpa>3.8;

Linux 抓包工具——tcpdump

1 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口…

由浅入深探究mysql索引结构原理、性能分析与优化

目录 第一部分:基础知识 第二部分:MYISAM和INNODB索引结构 1、 简单介绍B-tree B tree树 2、 MyisAM索引结构 3、 Annode索引结构 4、 MyisAM索引与InnoDB索引相比较 第三部分:MYSQL优化 1、表数据类型选择 2、sql语句优化 3、系统配置与维护…

Java对称与非对称加密解密(AES与RSA)

尽可能预想所有残酷的可能性、因为现实永远让你无法预警,而且又吝于给人慈悲。——富坚义博 今天我们讨论一下秘钥这个东西 一、对称加密技术与非对称加密技术简述 加密技术可以分为对称与非对称两种。 对称加密、解密即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,A…