当前位置: 首页 > 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面向对象三大特性之一 程序调用函数时&#…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...