14. Qt 程序菜单实现,基于QMainWindow
目录
前言:
技能:
内容:
一、ui中直接添加控件实现
二、 完全通过代码实现菜单
参考:
前言:
基于QMainWindow,两种方式实现菜单:通过直接添加ui控件快速添加菜单和完全通过代码实现菜单,前者极为快速方便,后者更能练习技能
展示效果:
技能:
菜单栏的三个成分QMenuBar、QMenu、QAction使用
内容:
两种方式都是基于QMainWindow,所以创建工程的时候需要选择基类QMainWindow
在Qt中,菜单的各个部分名称如下图

上面照片来自参考链接,讲的很好,可以直接点参考链接去看哦
法一、ui中直接添加控件实现
如果是基于QMainWindow,直接点开ui文件,上面已经提供了QMenuBar

直接双击修改名称就可以
重要的是,一定要回车保存才行,根据上面介绍,这个叫QMenu
当前QMenu回车后会出来这个样子,或者单机一个QMenu也是

这里继续就可以添加QAction
但是在这里无法直接输入中文,上面的QMenu是可以的
解决方法是:先输入一个英文名称创造出来一个QAction,点下面的信号编辑器中双击“文本”,这里编辑名称就可以正常输入中文

在这里编辑功能很多,比如图标和快捷方式,快捷方式设置是从键盘读取按键,可以组合。详细内容看参考链接
点击QAction旁边的小图标可以创建进一步的QAction,方法同理

创建完界面后要实现槽函数,在Qt creator中可以直接右键Action编辑器中的QAction,有熟悉的“转到槽”,后面的内容就和之前一样了。如果是用的VS2022联机的Qt designer或者不想用直接转到槽,可以看我之前的文章->在VS2022中使用QT

法二、 完全通过代码实现菜单
首先在头文件中在Qt类中添加私有成员,这里是两个QMenu,两个QAction
#include<QMenu>
#include<QMenuBar>
#include<QAction>
#include<QFileDialog>private:QMenu *pMenuFile;QMenu *pMenuEdit;QAction *pActNew;QAction *pActOpen;
在QMainWindow的构造函数里面,创建、添加合并,也差不多看得懂。详情看参考链接讲得好
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);pMenuFile= new QMenu("文件(&File)");//快捷键ALT+F &后字母表示快捷键pMenuEdit= new QMenu("编辑(&Edit)");//快捷键ALT+Eui->menubar->addMenu( pMenuFile);ui->menubar->addMenu( pMenuEdit);pActNew=new QAction("新建");pActNew->setShortcut(Qt::CTRL|Qt::Key_N);pActOpen=new QAction("打开");pActOpen->setShortcut(Qt::CTRL|Qt::Key_O);pMenuFile->addAction(pActNew);pMenuFile->addAction(pActOpen);//下面是手动连接槽函数的//connect(pActOpen,SIGNAL(triggered(bool)),this,SLOT(OpenClicked()));//connect(pActNew,SIGNAL(triggered(bool)),this,SLOT(NewClicked()));}
参考:
【Qt学习系列】14.Qt程序菜单
【Qt学习系列】14_Qt程序菜单(2)
【Qt学习系列】14.Qt程序菜单(3)这个是实现右键菜单的,欢迎大家学习
相关文章:
14. Qt 程序菜单实现,基于QMainWindow
目录 前言: 技能: 内容: 一、ui中直接添加控件实现 二、 完全通过代码实现菜单 参考: 前言: 基于QMainWindow,两种方式实现菜单:通过直接添加ui控件快速添加菜单和完全通过代码实现菜单&a…...
如何利用SpringSecurity进行认证与授权
目录 一、SpringSecurity简介 1.1 入门Demo 二、认证 编辑 2.1 SpringSecurity完整流程 2.2 认证流程详解 2.3 自定义认证实现 2.3.1 数据库校验用户 2.3.2 密码加密存储 2.3.3 登录接口实现 2.3.4 认证过滤器 2.3.5 退出登录 三、授权 3.1 权限系统作用 3.2 授…...
如何简单上手清华AutoGPT并搭建到本地环境
一、准备工作 安装Docker:确保你的本地机器上已经安装了Docker。如果还没有安装,请访问Docker官方网站并按照指引进行安装。--点击进入Docker官网 获取清华AutoGPT的Docker镜像:清华AutoGPT团队可能已经提供了一个Docker镜像,方便…...
【漏洞复现-通达OA】通达OA share存在前台SQL注入漏洞
一、漏洞简介 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。通达OA为各行业不同规模的众多用户提供信息化管理能力,包…...
HTML5 Canvas与JavaScript携手绘制动态星空背景
目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>星空背景</title> </head> <body style"overflow-x:hidden;"><canvas …...
如何优雅地与ChatGPT对话?
ChatGPT已经发布了一年之久了,但你真的会使用ChatGPT吗?同一个问题,不同的问法得到的答案可能千差万别,你可以把ChatGPT当作一个知识面很广的专家,他上知天文下知地理,但他无法直接知道你的意图,…...
AI提示工程实战:从零开始利用提示工程学习应用大语言模型【文末送书-19】
文章目录 背景什么是提示工程?从零开始:准备工作设计提示调用大语言模型 实际应用示例文字创作助手代码生成持续优化与迭代数据隐私与安全性可解释性与透明度总结 AI提示工程实战:从零开始利用提示工程学习应用大语言模型【文末送书-19】⛳粉…...
量子算法入门——3.狄拉克符号与量子态(3)
3. 狄拉克符号的数学基础 左矢是右矢的共轭转置 上标*表示共轭 算符就是对狄拉克符号进行操作,就是相当于矩阵操作向量,算符对应本征值和本征态 本征值:拉伸x、y向量的程度本征态:x、y向量 上标匕首🗡符号…...
c++ STL系列——(三)list
目录 引言 list的特点 list的用法 list与其他容器的比较 结论 引言 在C STL中,list 是一个非常灵活且功能强大的双向链表容器,它允许存储任意类型的元素,并提供了丰富的操作函数,包括插入、删除、排序、查找以及对容器的遍历…...
软考29-上午题-排序
一、排序的基本概念 1-1、稳定性 稳定性指的是相同的数据所在的位置经过排序后是否发生变化。若是排序后,次序不变,则是稳定的。 1-2、归位 每一趟排序能确定一个元素的最终位置。 1-3、内部排序 排序记录全部存放在内存中进行排序的过程。 1-4、外部…...
【详细流程】vue+Element UI项目中使用echarts绘制圆环图 折线图 饼图 柱状图
vueElement UI项目中数据分析功能需要用到圆环图 折线图 饼图 柱状图等,可视化图形分析 安装流程及示例 1.安装依赖 npm install echarts --save2.在main.js中引入并挂载echarts import echarts from echarts Vue.prototype.$echarts echarts3.在需要使用echart…...
Unity之XR Interaction Toolkit如何在VR中实现一个可以拖拽的UI
前言 普通的VR项目中,我们常见的UI都是一个3D的UI,放置在场景中的某个位置,方便我们使用射线点击。但是为了更好的体验,我们可能会有跟随头显的UI,或者可拖拽的UI,这样更方便用户去操作。 所以我们今天的需求就是:如何基于XR Interaction Toolkit 插件 在VR中使用手柄射…...
开源项目热度榜单
题目描述 某个开源社区希望将最近热度比较高的开源项目出一个榜单,推荐给社区里面的开发者。对于每个开源项目,开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请求(MR)等。 数据库里面统计了每个开源项目关注、收藏、fork、issue、M…...
Ubuntu系统搭建HadSky论坛并结合内网穿透实现无公网ip远程访问
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
gowin GW1N4 LED
基于上已篇文章基础上增加LED闪烁的功能 《gowin GW1N4 OSC IP 使用》 gowin GW1N4 OSC IP 使用-CSDN博客 https://blog.csdn.net/wzy15965343032/article/details/136172184?spm1001.2014.3001.5502 代码: module osc_test(input rst_n,output test_clk,output …...
Linux ipvlan详解(l2、l3、l3s和bridge、private和vepa模式)
Linux ipvlan详解,测试l2、l3、l3s和bridge、private和vepa模式。 最近在看Docker的网络,看到关于ipvlan网络的介绍。查阅了相关资料,记录如下。 参考 1.图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN 2.IPVlan 详…...
理解并实现OpenCV中的图像平滑技术
导读 图像模糊(也称为图像平滑)是计算机视觉和图像处理中的基本操作之一。模糊图像通常是噪声减少、边缘检测和特征提取等应用的第一步。在本博客中,我们将重点介绍如何使用Python中的OpenCV库应用多种模糊技术。 理论概述: 基本…...
ChatGPT高效提问—prompt实践(白领助手)
ChatGPT高效提问—prompt实践(白领助手) 随着社会的不断发展,白领的比例越来越高。白领的工作通常较为繁忙,需要管理复杂的项目。工作量大、要求高、任务紧急,时间分配不当部分可能导致工作效率低下,任…...
Code Composer Studio (CCS) - Comment (注释)
Code Composer Studio [CCS] - Comment [注释] References Add Block Comment: 选中几行代码 -> 鼠标右键 -> Source -> Add Block Comment shortcut key: Ctrl Shift / Remove Block Comment: 选中几行代码->鼠标右键->Source->Remove Block Comment s…...
springboot/ssm校园菜鸟驿站管理系统Java校园快递取件管理系统
springboot/ssm校园菜鸟驿站管理系统Java校园快递取件管理系统 开发语言:Java 框架:springboot(可改ssm) vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.…...
runc符号链接挂载漏洞导致容器逃逸的原理与实战防护
1. 这个漏洞不是“理论风险”,而是真实可触发的容器逃逸链你有没有遇到过这样的情况:在调试一个容器化服务时,临时用ln -s /host/path /container/mount建了个符号链接,本意只是方便日志查看或配置共享,结果几分钟后发…...
Anthropic为何如此反华
美国政客对中国进行科技封锁,本不是什么新闻。但一个商业公司宁可损失上亿美元的收入也要禁止中国人访问他们的AI就有点魔症了。我们不禁要问:为什么我们现在看到Anthropic的CEO Dario Amodei在所有场合都持强硬的反华立场,不免感觉有些奇怪。…...
MySQL 子查询优化:从慢查询到飞起的实战之路
开场白 说起 MySQL 子查询优化,这事儿我还真踩过大坑。有一次上线一个报表功能,SQL 里套了两层子查询,测试环境跑得挺快,上了生产直接把数据库干到 CPU 100%,整个系统卡了十分钟。后来 DBA 找过来,一看执行…...
结构可识别性映射:破解模型不可识别下的时间序列分类难题
1. 项目概述:当模型“看不清”时,如何让分类器“看得清”?在生物医学、工业过程监控等领域,我们常常面对这样的场景:你有一堆传感器记录下的时间序列数据,比如病人的心率变化、反应器内的温度波动ÿ…...
基于神经进化势函数与差分进化算法解析γ-Al2O3缺陷结构
1. 项目概述与核心挑战在材料模拟领域,氧化铝(Al2O3)家族因其丰富的多晶型相和广泛的应用(从催化剂载体到耐磨涂层)而备受关注。其中,γ-Al2O3作为一类关键的过渡氧化铝,其结构解析一直是材料科…...
从金融风控到工业质检:MAD离群值检测算法的5个实战应用场景与Python代码
从金融风控到工业质检:MAD离群值检测算法的5个实战应用场景与Python代码在数据驱动的商业决策中,异常值往往蕴含着关键的业务信号——可能是欺诈交易、设备故障,或是市场机会。传统基于标准差的方法容易受极端值影响,而**中位数绝…...
统计学习理论:从VC维到泛化误差,构建稳健CV系统的数学基石
1. 项目概述:从“炼丹”到“建楼”的范式转变在计算机视觉和机器学习这个圈子里混了十几年,我见过太多“炼丹”的场景了。大家热衷于调参、换模型、堆数据,一个模型效果好,大家就一拥而上,但很少有人能说清楚它为什么好…...
LLM多智能体驱动微服务自治:从架构设计到Sock Shop实战评估
1. 项目概述:当微服务遇见大模型,自管理不再是空谈在云原生和微服务架构成为主流的今天,我们运维工程师面对的早已不是几台物理服务器,而是一个由成百上千个容器化服务实例构成的、动态且复杂的生态系统。服务间的调用链路像一张错…...
Keil MDK中自定义CMSIS代码模板实战指南
1. 自定义CMSIS用户代码模板的完整指南作为一名嵌入式开发老手,我经常需要在Keil MDK环境中创建各种RTOS任务模板。官方提供的模板虽然好用,但实际项目中我们往往需要根据公司编码规范或特定硬件平台定制专属模板。今天我就来分享如何在CMSIS环境中添加自…...
MIMIC-CXR数据集加载实战:用Python从零处理医学影像与报告文本(附完整代码)
MIMIC-CXR数据集加载实战:用Python从零处理医学影像与报告文本(附完整代码)当你第一次打开MIMIC-CXR数据集时,那种面对海量嵌套目录和元数据的茫然感我深有体会。作为医学AI领域最具挑战性的公开数据集之一,MIMIC-CXR包…...

