创建菜单栏、菜单、菜单项
1、QMainWindow窗口

1.1、创建菜单栏
this 代表的是 当前窗口(主窗口),也就是 当前窗口中添加/设置 菜单栏
this->resize(800,600);
//创建 菜单栏
QMenuBar *menuBar = new QMenuBar(this);
//将菜单栏 添加到主窗口的特殊位置
this->setMenuBar(menuBar);
1.2、创建菜单
让创建的菜单属于 this(当前主窗口),方便当主窗口释放的时候会带着释放整个 子控件,所以以后写的时候,直接让所有的子控件都属于 this(主窗口),方便释放
//创建菜单
QMenu *file = new QMenu("文件", this);
QMenu *edit = new QMenu("编辑", this);
//菜单栏中添加菜单
menuBar->addMenu(file);
menuBar->addMenu(edit);
1.3、创建菜单项
QList<QAction *>() 是匿名对象,QList<QAction *>()<<New<<Open 表示将 New 和 Open 多个菜单项 << (输入到)匿名对象 QList<QAction *>() 中
//创建菜单项
QAction *New = new QAction("新建", this);
QAction *Open = new QAction("打开", this);
//菜单中添加菜单项
file->addAction(New);
//添加一个分隔符
file->addSeparator();
file->addAction(Open);
//一个菜单添加多个菜单项
edit->addActions(QList<QAction *>()<<New<<Open);
1.4、菜单项动起来
菜单项动起来,槽(消息接收者和槽函数)使用匿名对象完成,New 是 信号
//菜单项动起来
connect(New, &QAction::triggered,[&](){qDebug()<<"新建文件了"<<endl;
} );
connect(Open, &QAction::triggered,[&](){qDebug()<<"打开文件了"<<endl;
} );
1.5、设置菜单项的快捷方式
setShortcut 是设置快捷键,使用 setShortcut 给菜单项设置快捷方式
//设置菜单项的快捷方式
New->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_N));
Open->setShortcut(tr("Ctrl+o"));

1.6 、添加分隔符
在 两个菜单项 New 和 Open 之间添加,产生分隔符
//菜单中添加菜单项
file->addAction(New);
//添加一个分隔符
file->addSeparator();
file->addAction(Open);
1.7、设置工具栏
工具栏 中 设置 菜单项
//创建工具栏QToolBar
QToolBar *toolBar = new QToolBar();
//将工具栏 放入主窗口的特定位置
this->addToolBar(toolBar);
//将菜单项 放入工具栏中
toolBar->addAction(New);
toolBar->addAction(Open);
//工具栏默认可以浮动、可以停靠四周
//不允许工具栏浮动false
toolBar->setFloatable(false);
//只允许工具栏停靠左右
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
1.8、创建状态栏
//创建状态栏
QStatusBar *statusBar = new QStatusBar(this);
//将状态栏 添加到 主窗口中
this->setStatusBar(statusBar);
//在状态栏上 添加左侧信息
QLabel *label1= new QLabel("左侧提示信息", this);
statusBar->addWidget(label1);
//在状态栏上 添加右侧信息
QLabel *label2= new QLabel("右侧提示信息", this);
statusBar->addPermanentWidget(label2);
1.9、创建中心部件
//创建中心部件
//将文本框作为中心部件
QTextEdit *textEdit = new QTextEdit("这是中心部件", this);
this->setCentralWidget(textEdit);
1.10、创建铆接部件
//创建铆接部件
QDockWidget *dock = new QDockWidget("我是铆接部件",this);
//将铆接部件 添加到主窗口中
this->addDockWidget(Qt::AllDockWidgetAreas, dock);
2、资源文件
相关文章:
创建菜单栏、菜单、菜单项
1、QMainWindow窗口 1.1、创建菜单栏 this 代表的是 当前窗口(主窗口),也就是 当前窗口中添加/设置 菜单栏 this->resize(800,600); //创建 菜单栏 QMenuBar *menuBar new QMenuBar(this); //将菜单栏 添加到主窗口的特殊位置 this-&g…...
专访丨AWS量子网络中心科学家Antía Lamas谈量子计算
Anta Lamas Linares(图片来源:网络) 47岁的Anta Lamas Linares出生于西班牙西北部的圣地亚哥德孔波斯特拉。她在当地学习物理学,然后在牛津大学和加利福尼亚继续深造。后来,她在新加坡领导了亚马逊网络服务…...
[ 云计算 | Azure ] Chapter 04 | 核心体系结构之数据中心、区域与区域对、可用区和地理区域
本章节主要内容进行讲解:Azure云计算的核心体系结构组件中的:Azure物理基础设施(Physical infrastructure),区域(Regions)和区域对(Region Pairs)、地理数据中心…...
升级长江存储最新闪存,忆恒创源发布新一代企业级NVMe SSD
2023年4月11日 —— 北京忆恒创源科技股份有限公司(Memblaze)正式发布搭载高品质国产闪存的PBlaze6 6541 系列企业级PCIe 4.0 NVMe SSD。作为 MUFP 平台化开发的最新作品,PBlaze6 6541 采用长江存储最新一代晶栈 Xtacking 3D NAND,…...
Xcode14:”Failed to prepare the device for development“解决
当前Xcode版本14.2,测试机iOS版本16.4, 结果出现提示:Failed to prepare the device for development,经过Clean,重装都无效,最后发现其他人也有类似的问题 https://developer.apple.com/forums/thread/714388 PS:首先…...
程序员的“灵魂笔记本“:五款高效笔记软件推荐
大家好,我是 jonssonyan。作为一名程序员,我们经常需要记录和整理大量的代码、知识和项目信息,以便在日后能够高效地进行查阅和复用。而好用的笔记软件则成为了我们的"灵魂笔记本",帮助我们提高工作效率。在这篇文章中&…...
Linux基础命令-scp远程复制文件
Linux基础命令-seq打印数字序列 前言 有时候不可避免的需要将文件复制到另外一台服务器上,那么这时就可以使用scp命令远程拷贝文件,scp命令是基于SSH协议,在复制的过程中数据都是加密过的,会比明文传输更为安全。 一.命令介绍 …...
【python学习】基础篇-列表元素排序操作 sort()、min()、max()函数
列表对象中提供了 sort0 方法,该方法用于对原列表中的元素进行排序,排序后原列表中的元素顺序将发生改变。 其语法格式如下: listname.sort(keyNone, reverseFalse) key:用于比较的键 reverse:可选参数,Fal…...
机器视觉检测系统的基本流程你知道吗
工业制造业种,首先我们便需要了解其基本流程,作为工厂信息科人员,我们不能只依靠视觉服务商的巡检驻检来解决问题,为了产线的效率提升,我们更多的应该培养产线技术人员,出现问题便可以最快速度解决问题&…...
【vue】Vue 开发技巧:
文章目录1.路由参数解耦2.功能组件3.样式范围4.watch的高级使用5.watch监听多个变量6.事件参数$event7.程序化事件监听器8.监听组件生命周期1.路由参数解耦 通常在组件中使用路由参数,大多数人会做以下事情。 export default {methods: {getParamsId() {return th…...
Kubebuilder Hello World
Kubebuilder Hello World 摘要:从0开始建立kubebuilder第一个程序 文章目录Kubebuilder Hello World0. 环境 简介0.1 环境0.2 什么是kubebuilder?1. 安装Kubebuilder1.1 需要预先准备好的环境1.2 安装kubebuilder & kustomize2. 项目初始化2.1 新建…...
SpringSecurity之权限方案——用户认证
目录 前言 设置用户名密码 1、通过配置文件设置用户名密码 2、编写代码实现接口 放行登录页面以及静态资源 前言 前面我们讲解了一些关于Security的基础知识及基本原理。我们今天看一下如何通过他实现一个简单的web权限认证方案! 设置用户名密码 1、通过配置…...
本地电脑轻松部署GPT4(无需账号)!
最近有个超级好玩的Github开源代码分享给大家,可以实现直接在本地电脑上运行GPT4,实现给机器人对话,获得想要的内容,亲测好用!废话不多说,直接上干货! 目录 一、Github项目地址 二、操作步骤 2.1 下载代码 2.2 操作方法 2.3 详细步骤...
每天一道大厂SQL题【Day21】华泰证券真题实战(三)
每天一道大厂SQL题【Day21】华泰证券真题实战(三) 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&…...
腾讯云8核16G18M轻量服务器CPU带宽流量性能测评
腾讯云轻量应用服务器8核16G18M带宽,18M公网带宽下载速度峰值可达2304KB/秒,相当于2.25M/s,系统盘为270GB SSD盘,3500GB月流量,折合每天116GB流量。腾讯云百科分享腾讯云轻量服务器8核16G18M配置、CPU型号、公网带宽月…...
算法之归并排序
文章目录一、归并排序(递归版)二、归并排序(非递归版)一、归并排序(递归版) 归并排序思想:将数组划分为两个区间,左区间,右区间 然后对这两个区间内容进行排序 ÿ…...
Mysql日志系统-mysql serve层
Mysql日志系统-服务层的日志 mysql给我们提供了很多有用的日志有mysql服务层提供的,有innodb引擎层提供的,下表是mysql服务层给我们提供的: 日志类型写入日志的信息二进制日志记录了对MySQL数据库执行更改的所有操作慢查询日志记录所有执行…...
阿里云蔡英华:云智一体,让产业全面迈向智能
4月11日,在2023阿里云峰会上,阿里云智能首席商业官蔡英华表示,算力的飞速发展使数字化成为确定,使智能化成为可能。阿里云将以云计算为基石,以AI为引擎,参与到从数字化迈向智能化的划时代变革中。 基于服务…...
打怪升级之FPGA组成原理(LE部分)
FPGA芯片逻辑单元的原理 不论你使用哪一款FPGA芯片,其核心可编程逻辑单元都是从一段内存种按顺序读取执行并执行的过程。具体来说,FOGA芯片内部包括可编程逻辑块(LAB)、可配置输入输出单元(IOE)、时钟管理模块、嵌入式RAM(BRAN,在Cyclone IV…...
c++的多态
目录 1、多态 1.1多态的构成条件 1.2多态的好处 2、虚函数 2.1虚函数重写 2.2虚函数的默认参数 2.3纯虚函数重写 2.4抽象类 2.5虚析构,纯虚析构重写 3、重载、覆盖(重写)、隐藏(重定义)的对比 编辑 多态是c面向对象三大特性之一 程序调用函数时&#…...
一机多版本Quartus共存?教你修复USB Blaster识别冲突(修改JTAG服务路径详解)
多版本Quartus共存时的USB Blaster识别冲突解决方案 当我们需要在同一台电脑上安装多个版本的Quartus软件时(比如为了兼容不同时期的FPGA项目),经常会遇到一个棘手问题:USB Blaster无法被正确识别。这种情况通常发生在安装了新旧两…...
一键解决Windows运行库问题:Visual C++ AIO完整安装指南
一键解决Windows运行库问题:Visual C AIO完整安装指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的困扰:新下载…...
5分钟学会在Windows电脑上安装Android应用:APK Installer终极指南
5分钟学会在Windows电脑上安装Android应用:APK Installer终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上运行手机应用吗&#x…...
3天掌握Dify工作流开发:从零构建企业级AI应用的完整指南
3天掌握Dify工作流开发:从零构建企业级AI应用的完整指南 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dif…...
git讲解,git vscode 对应,git pycharm 对应
文章目录安装git配置git什么是git 仓库创建版本库git addvscodegit statusgit addgit statuspycharm变更列表视图如果创建文件的时候选择了添加到git版本控制暂存区域视图时光穿梭机版本回退修改文件vscodepycharm变更列表暂存区域git logvscodepycharmgit reset 版本回退git r…...
保姆级教程:把Windows系统装进固态U盘,用云固件打造随身移动办公神器
随身Windows系统:用固态U盘打造移动办公终极解决方案 咖啡馆的午后阳光斜照在键盘上,你从包里掏出一个名片大小的设备,插入陌生电脑的USB接口。30秒后,熟悉的桌面环境、未写完的文档、收藏夹里的书签全部跃然屏上——这不是科幻场…...
专业的水情监视图厂家
在城市建设与发展过程中,水情监测至关重要。尤其是在暴雨等极端天气下,城市低洼地带、老旧小区等区域容易出现积水问题,严重影响交通和居民生活安全。因此,选择一家专业的水情监视图厂家,对于城市管理者来说是一项关键…...
告别串口打印!用STM32+DS18B20做个OLED温湿度计(HAL库+SSD1306)
STM32实战:打造OLED温湿度监测系统(DS18B20SSD1306) 每次调试嵌入式项目时,盯着串口助手看数据总有种隔靴搔痒的感觉。最近在工作室整理零件时,发现抽屉里还躺着几片0.96寸OLED和DS18B20温度传感器,突然萌生…...
从IMX334到HDMI输入:Hi3559AV100 MPP代码中VI参数配置的保姆级调整指南
从IMX334到HDMI输入:Hi3559AV100 MPP代码中VI参数配置实战解析 当我们需要将Hi3559AV100开发板从默认的IMX334 MIPI摄像头切换为HDMI输入时,整个视频输入(VI)通道的参数配置需要彻底重构。这不仅涉及硬件接口的转换,更需要深入理解MPP框架中V…...
GitHub中文插件终极指南:3分钟让英文GitHub变母语界面
GitHub中文插件终极指南:3分钟让英文GitHub变母语界面 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 还在为GitHub的英文…...

