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

Qt窗口 菜单栏 QMenuBar和的使用及说明

目录

  • 1. 创建QT工程
  • 2. Qt5中添加资源文件
  • 3. 在Qt图形化界面创建菜单栏各组件
  • 4. 为菜单栏添加的选项增加图标
  • 5. 将菜单栏增加的功能拖动到工具栏
  • 6. 点击运行按钮查看运行结果
  • 7. 为菜单栏和工具栏增加的按钮添加相应的槽函数

1. 创建QT工程

  打开Qt Creator软件,选择菜单栏下面的新建文件或项目,新建一个桌面Qt应用如下图所示:

1

无标题1

无标题2

2. Qt5中添加资源文件

  1.鼠标点击工程文件目录右键选择“添加新文件”,在模板中选择Qt→Qt Resource File,如下图所示:

无标题3

  2. 输入资源名称,点击下一步如下图所示:

无标题4

无标题5

  3. 选中 res.qrc 资源文件鼠标右键选择 “Open in Editor” 打开资源编辑区,在编辑区首先添加前缀,如下图所示:
无标题6

无标题7

  4. 添加完前缀后选择添加文件,添加文件时,弹出选择框,选择资源文件如下图所示:

无标题9

无标题10

  5.保存资源文件,如下图所示:

无标题11

无标题12

3. 在Qt图形化界面创建菜单栏各组件

  1. 在打开Qt自带的ui文件界面后,双击界面上菜单栏(在这里输入),输入文件如下图所示:

13

  1. 在上述创建菜单后,界面发生改变得到以下界面,如下图所示:

无标题14

  1. 点击创建好的菜单,双击在这里输入,添加菜单项(打开串口)

无标题15

4. 为菜单栏添加的选项增加图标

  1. 菜单栏组件增加完成后,编辑增加的组件,为组件添加图标如下图所示:

无标题16

无标题17

无标题18

无标题19

5. 将菜单栏增加的功能拖动到工具栏

  1.将在菜单栏新建的选项增加到工具栏,在Qt Action Editor界面下选中需要显示在工具栏的选项,按住鼠标左键直接拖到工具栏如下所示:

无标题20

  2.如上如所示,拖动到工具栏的选项只显示图标,没有显示文字,想要显示图标文字,需要点击mainToolBar在属性栏找到toolButtonStyle选项更改选项设置文字显示的位置(默认仅显示按钮,不显示文字),如下图所示:

无标题21

无标题22

无标题23

6. 点击运行按钮查看运行结果

  1.点击Debug按钮查看运行结果,如下图所示:

无标题24

  2.由上图可知,运行后工具栏的按钮并只显示文件没有显示图标,是因为在Action Editor添加图标时选择的是文件,正确做法应该是选择资源添加图标,如下图所示:
无标题25

无标题26

7. 为菜单栏和工具栏增加的按钮添加相应的槽函数

  1.在Action Editor界面下选中相应的按钮,右键选中转到槽,为每一个按钮增加对应的槽函数,如下图所示:

无标题27

无标题28

无标题29

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • java03
  • 2024全国大学生数学建模国赛,成员如何分工协作?
  • sheng的学习笔记-AI-半监督聚类
  • Golang时间格式化的陷阱与解决方案
  • 一点小小的做事经验
  • 5Kg负重30分钟长航时多旋翼无人机详解
  • Linux命令行更换yum源repo为阿里源-centos7
  • CSS中的`z-index`属性是如何工作(注意事项)
  • idea对项目中的文件操作没有权限
  • Stable Diffusion绘画 | LightFlow工作流插件:一键导入,高效生图
  • URP custompasscustom render objects
  • JAVA中有关锁的详解
  • Stable Diffusion 使用详解(10)--- 场景立体字
  • Docker php文件本地包含--pearcmd.php利用
  • 【vSphere 7/8】深入浅出 vSphere 证书 Ⅲ—— vSphere 证书的更新和替换概述
  • gulp 教程
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • socket.io+express实现聊天室的思考(三)
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Vue 动态创建 component
  • 半理解系列--Promise的进化史
  • 欢迎参加第二届中国游戏开发者大会
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 实习面试笔记
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 我建了一个叫Hello World的项目
  • 异常机制详解
  • 应用生命周期终极 DevOps 工具包
  • 原生 js 实现移动端 Touch 滑动反弹
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​2021半年盘点,不想你错过的重磅新书
  • # Apache SeaTunnel 究竟是什么?
  • # linux 中使用 visudo 命令,怎么保存退出?
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $(selector).each()和$.each()的区别
  • (003)SlickEdit Unity的补全
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (6)添加vue-cookie
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (独孤九剑)--文件系统
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (规划)24届春招和25届暑假实习路线准备规划
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (力扣题库)跳跃游戏II(c++)
  • (六)vue-router+UI组件库
  • (四)Controller接口控制器详解(三)
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (小白学Java)Java简介和基本配置
  • (学习日记)2024.01.09
  • (转)一些感悟
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .net 怎么循环得到数组里的值_关于js数组