当前位置: 首页 > news >正文

创建菜单栏、菜单、菜单项

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 代表的是 当前窗口&#xff08;主窗口&#xff09;&#xff0c;也就是 当前窗口中添加/设置 菜单栏 this->resize(800,600); //创建 菜单栏 QMenuBar *menuBar new QMenuBar(this); //将菜单栏 添加到主窗口的特殊位置 this-&g…...

专访丨AWS量子网络中心科学家Antía Lamas谈量子计算

​ Anta Lamas Linares&#xff08;图片来源&#xff1a;网络&#xff09; 47岁的Anta Lamas Linares出生于西班牙西北部的圣地亚哥德孔波斯特拉。她在当地学习物理学&#xff0c;然后在牛津大学和加利福尼亚继续深造。后来&#xff0c;她在新加坡领导了亚马逊网络服务&#xf…...

[ 云计算 | Azure ] Chapter 04 | 核心体系结构之数据中心、区域与区域对、可用区和地理区域

本章节主要内容进行讲解&#xff1a;Azure云计算的核心体系结构组件中的&#xff1a;Azure物理基础设施&#xff08;Physical infrastructure&#xff09;&#xff0c;区域&#xff08;Regions&#xff09;和区域对&#xff08;Region Pairs&#xff09;、地理数据中心&#xf…...

升级长江存储最新闪存,忆恒创源发布新一代企业级NVMe SSD

2023年4月11日 —— 北京忆恒创源科技股份有限公司&#xff08;Memblaze&#xff09;正式发布搭载高品质国产闪存的PBlaze6 6541 系列企业级PCIe 4.0 NVMe SSD。作为 MUFP 平台化开发的最新作品&#xff0c;PBlaze6 6541 采用长江存储最新一代晶栈 Xtacking 3D NAND&#xff0c…...

Xcode14:”Failed to prepare the device for development“解决

当前Xcode版本14.2&#xff0c;测试机iOS版本16.4, 结果出现提示&#xff1a;Failed to prepare the device for development&#xff0c;经过Clean,重装都无效&#xff0c;最后发现其他人也有类似的问题 https://developer.apple.com/forums/thread/714388 PS&#xff1a;首先…...

程序员的“灵魂笔记本“:五款高效笔记软件推荐

大家好&#xff0c;我是 jonssonyan。作为一名程序员&#xff0c;我们经常需要记录和整理大量的代码、知识和项目信息&#xff0c;以便在日后能够高效地进行查阅和复用。而好用的笔记软件则成为了我们的"灵魂笔记本"&#xff0c;帮助我们提高工作效率。在这篇文章中&…...

Linux基础命令-scp远程复制文件

Linux基础命令-seq打印数字序列 前言 有时候不可避免的需要将文件复制到另外一台服务器上&#xff0c;那么这时就可以使用scp命令远程拷贝文件&#xff0c;scp命令是基于SSH协议&#xff0c;在复制的过程中数据都是加密过的&#xff0c;会比明文传输更为安全。 一.命令介绍 …...

【python学习】基础篇-列表元素排序操作 sort()、min()、max()函数

列表对象中提供了 sort0 方法&#xff0c;该方法用于对原列表中的元素进行排序&#xff0c;排序后原列表中的元素顺序将发生改变。 其语法格式如下: listname.sort(keyNone&#xff0c; reverseFalse) key&#xff1a;用于比较的键 reverse&#xff1a;可选参数&#xff0c;Fal…...

机器视觉检测系统的基本流程你知道吗

工业制造业种&#xff0c;首先我们便需要了解其基本流程&#xff0c;作为工厂信息科人员&#xff0c;我们不能只依靠视觉服务商的巡检驻检来解决问题&#xff0c;为了产线的效率提升&#xff0c;我们更多的应该培养产线技术人员&#xff0c;出现问题便可以最快速度解决问题&…...

【vue】Vue 开发技巧:

文章目录1.路由参数解耦2.功能组件3.样式范围4.watch的高级使用5.watch监听多个变量6.事件参数$event7.程序化事件监听器8.监听组件生命周期1.路由参数解耦 通常在组件中使用路由参数&#xff0c;大多数人会做以下事情。 export default {methods: {getParamsId() {return th…...

Kubebuilder Hello World

Kubebuilder Hello World 摘要&#xff1a;从0开始建立kubebuilder第一个程序 文章目录Kubebuilder Hello World0. 环境 简介0.1 环境0.2 什么是kubebuilder&#xff1f;1. 安装Kubebuilder1.1 需要预先准备好的环境1.2 安装kubebuilder & kustomize2. 项目初始化2.1 新建…...

SpringSecurity之权限方案——用户认证

目录 前言 设置用户名密码 1、通过配置文件设置用户名密码 2、编写代码实现接口 放行登录页面以及静态资源 前言 前面我们讲解了一些关于Security的基础知识及基本原理。我们今天看一下如何通过他实现一个简单的web权限认证方案&#xff01; 设置用户名密码 1、通过配置…...

本地电脑轻松部署GPT4(无需账号)!

最近有个超级好玩的Github开源代码分享给大家,可以实现直接在本地电脑上运行GPT4,实现给机器人对话,获得想要的内容,亲测好用!废话不多说,直接上干货! 目录 一、Github项目地址 二、操作步骤 2.1 下载代码 2.2 操作方法 2.3 详细步骤...

每天一道大厂SQL题【Day21】华泰证券真题实战(三)

每天一道大厂SQL题【Day21】华泰证券真题实战(三) 大家好&#xff0c;我是Maynor。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深大数据选手&#xff0c;深知SQL重要性&#xff0c;接下来我准备用100天时间&#xff0c;基于大数据岗面试中的经典SQL题&…...

腾讯云8核16G18M轻量服务器CPU带宽流量性能测评

腾讯云轻量应用服务器8核16G18M带宽&#xff0c;18M公网带宽下载速度峰值可达2304KB/秒&#xff0c;相当于2.25M/s&#xff0c;系统盘为270GB SSD盘&#xff0c;3500GB月流量&#xff0c;折合每天116GB流量。腾讯云百科分享腾讯云轻量服务器8核16G18M配置、CPU型号、公网带宽月…...

算法之归并排序

文章目录一、归并排序&#xff08;递归版&#xff09;二、归并排序&#xff08;非递归版&#xff09;一、归并排序&#xff08;递归版&#xff09; 归并排序思想&#xff1a;将数组划分为两个区间&#xff0c;左区间&#xff0c;右区间 然后对这两个区间内容进行排序 &#xff…...

Mysql日志系统-mysql serve层

Mysql日志系统-服务层的日志 mysql给我们提供了很多有用的日志有mysql服务层提供的&#xff0c;有innodb引擎层提供的&#xff0c;下表是mysql服务层给我们提供的&#xff1a; 日志类型写入日志的信息二进制日志记录了对MySQL数据库执行更改的所有操作慢查询日志记录所有执行…...

阿里云蔡英华:云智一体,让产业全面迈向智能

4月11日&#xff0c;在2023阿里云峰会上&#xff0c;阿里云智能首席商业官蔡英华表示&#xff0c;算力的飞速发展使数字化成为确定&#xff0c;使智能化成为可能。阿里云将以云计算为基石&#xff0c;以AI为引擎&#xff0c;参与到从数字化迈向智能化的划时代变革中。 基于服务…...

打怪升级之FPGA组成原理(LE部分)

FPGA芯片逻辑单元的原理 不论你使用哪一款FPGA芯片&#xff0c;其核心可编程逻辑单元都是从一段内存种按顺序读取执行并执行的过程。具体来说&#xff0c;FOGA芯片内部包括可编程逻辑块(LAB)、可配置输入输出单元(IOE)、时钟管理模块、嵌入式RAM(BRAN&#xff0c;在Cyclone IV…...

c++的多态

目录 1、多态 1.1多态的构成条件 1.2多态的好处 2、虚函数 2.1虚函数重写 2.2虚函数的默认参数 2.3纯虚函数重写 2.4抽象类 2.5虚析构&#xff0c;纯虚析构重写 3、重载、覆盖(重写)、隐藏(重定义)的对比 ​编辑 多态是c面向对象三大特性之一 程序调用函数时&#…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》

近日&#xff0c;嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》&#xff0c;海云安高敏捷信创白盒&#xff08;SCAP&#xff09;成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天&#xff0c;网络安全已成为企业生存与发展的核心基石&#xff0c;为了解…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...