Qt入门 工具栏QToolBar和菜单栏QMenuBar(六)

2023-10-28

只有在继承了QMainWindow的窗体,才会有this->menuBar()->addMenu();以及this->addToolBar()函数。

Qmune

QMuneQMenuBar之间的关系见下面的代码。

//方法1:
QMenu *menu= menuBar()->addMenu(tr("&file"));//QMainWindow中的menuBar函数返回创建好的menuBar的指针,可分解为如下两行  
//方法2:
QMenuBar *mymenubar=menuBar();  
QMenu *mune =mymenubar->addMenu("file");  

在声明Qmune之前需要先声明几个QActionQAction用来抽象的表示一个动作,它包括行为、属性等参数:

//创建打开文件动作  
fileOpenAction = new QAction(QIcon(tr("images/open.ico")), tr("Open File"), this);
//设置打开文件动作的快捷键  
fileOpenAction->setShortcut(tr("Ctrl + O"));
//设置打开文件动作的提示信息  
fileOpenAction->setStatusTip(tr("open the file"));
//关联打开文件动作的信号和槽  
connect(fileOpenAction, SIGNAL(triggered()), this, SLOT(fileOpenActionSlot()));

然后将QAction添加到Qmune中:

void ZWindow::createMenu()
{
    menu = this->menuBar()->addMenu(tr("file"));
    menu->addAction(fileOpenAction);
    menu->addAction(lutFileOpenAction);
    menu->addAction(fileSaveAction);

    menu = this->menuBar()->addMenu(tr("shader"));
    menu->addAction(vertfileChangeAction);
    menu->addAction(fragfileChangeAction);

    menu = this->menuBar()->addMenu(tr("Effect"));
    menu->addAction(EffecChangeAction1);
    menu->addAction(EffecChangeAction2);
    menu->addAction(EffecChangeAction3);
    menu->addAction(EffecChangeAction4);
    menu->addAction(EffecChangeAction5);
}

上段代码创建的Mune见下图:
这里写图片描述

QToolBar

QMune不同,QToolBar出现的地方在菜单栏的下面,其初始化以及添加动作的代码见下图:

toolbar = this->addToolBar(tr("file"));
toolbar->addAction(fileOpenAction);
toolbar->addAction(lutFileOpenAction);
toolbar->addAction(fileSaveAction);

toolbar= this->addToolBar(tr("shader"));
toolbar->addAction(vertfileChangeAction);
toolbar->addAction(fragfileChangeAction);

toolbar= this->addToolBar(tr("Effect"));
toolbar->addAction(EffecChangeAction1);
toolbar->addAction(EffecChangeAction2);
toolbar->addAction(EffecChangeAction3);
toolbar->addAction(EffecChangeAction4);
toolbar->addAction(EffecChangeAction5);

其效果图见下图:
这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt入门 工具栏QToolBar和菜单栏QMenuBar(六) 的相关文章

  • Java遍历List四种方法的效率对比

    Java遍历List四种方法的效率对比 遍历方法简介 Java遍历List的方法主要有 1 for each for bject o list 2 Iterator Iterator iter list iterator while ite
  • Linux配置、安装交叉编译环境 gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz

    步骤测试流程 步骤 1 将文件 gcc 4 6 2 glibc 2 13 linaro multilib 2011 12 tar gz 拷贝到 Ubuntu 主目录下 i MX6 用户光盘 i MX6 用户光盘 A linux tool g
  • 【Keras】LSTM和Bi-LSTM神经网络

    KerasLSTM和Bi LSTM神经网络 导入安装包 加载并划分数据集 数据处理 创建LSTM模型并训练 评估模型 创建Bi LSTM模型并训练 打印Bi LSTM模型 评估Bi LSTM模型 导入安装包 import tensorflo
  • FPGA资源之LUT

    文章目录 一 CLB资源简介 二 LUT查找表资源 SLICEM SLICEL 三 LUT资源 3 1 LUT资源工作原理 3 2 LUT资源内部结构 3 3 LUT功能的拓展 3 4 LUT硬件原语 一 CLB资源简介 Xilinx 7的
  • llvm 文件后缀转换

    emit llvm 生成和 llvm 相关的代码 S ll 可读文件 c 二进制文件 s 汇编代码 参考 http www aosabook org en llvm html http llvm org docs WritingAnLLVM
  • Android--通知之Notification

    前言 之前一篇博客讲了Android下使用Toast的方式提示消息 这篇博客讲解一下在Android中使用Notification提示消息给用户 Notification是一种具有全局效果的通知 程序一般通过NotificationMana
  • 【Proteus仿真】【51单片机】水箱液位检测控制装置设计

    文章目录 一 主要功能 二 硬件资源 三 软件设计 四 实验现象 联系作者 一 主要功能 1 压力液位检测 2 阈值设定 超限报警 3 压力液位显示 4 补排水自动控制 二 硬件资源 1 51单片机核心模块 2 PCF8591 AD DA模
  • 2023 ciscn国赛pwn lojin wp

    第一次参加国赛 被队友带飞了 pwn只做出来了四个 1381分 第16名 总体来说还可以 在所有题目中 也是拿到了pwn题login的一血 话说回来 来详细说一下 这个pwn题的解法 首先就是能看到这是个没附件的pwn题 说明只能通过交互去
  • python后端学习(十四)元类、ORM

    目录 元类 1 类也是对象 2 动态地创建类 3 使用type创建类 4 使用type创建带有属性的类 5 使用type创建带有方法的类 6 到底什么是元类 终于到主题了 7 metaclass 属性 8 自定义元类 ORM 1 ORM是什
  • Windows10系统下TensorFlow的安装教程

    前提条件 已经成功安装CUDA和cuDNN 以及Anconda软件 1 打开Anaconda Prompt 开始 gt Anaconda3 64 bit gt Anaconda Prompt anaconda3 2 查看conda版本 co
  • 腾讯程序员吐槽:1kw房产+1kw股票+300w现金,35岁准备退休

    前言 最近 在某互联网职场论坛 一位腾讯程序员发帖凡尔赛式的吐槽 35岁 已经准备好退休了 走之前给年轻人一个参考 到我这个年纪在大厂确实可能会碰到职业发展瓶颈 但并不意味着你们一毕业就去国企公务员是更好的选择 我不是被辞退 也不是离职就找
  • FTP可以登录但是不能使用被动模式上传文件

    原因 lsmod grep ftp 发现模块 ip nat ftp 被卸载导致被动模式无效 解决 在服务器上执行 modprobe ip conntrack ftp
  • 【Seq2Seq】使用神经网络进行序列到序列学习

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • jenkins的安装和配置(flask结合jenkins半自动化部署流程)

    jenkins在虚拟机中安装 1 1 背景介绍 Jenkins 是一款流行的开源持续集成 Continuous Integration 工具 广泛用于项目开发 具有自动化构建 测试和部署等功能 Jenkins官网 Jenkins Jenki
  • 解读工业互联网建设中的安全保障

    2017 11 27日 国务院发布关于深化 互联网 先进制造业 发展工业互联网的指导意见的政策文件 指导意见中用基本形势 总体要求 主要任务 保障支撑四个章节全面阐述了先进制造业融入互联网发展的新工业革命的历史契机 是把互联网信息技术融入到
  • Kubernetes系列之kubeadm部署多节点master集群

    版本信息 linux Centos7 kubernetes v1 14 5 docker v18 06 1 ce 节点信息 VIP 47 110 19 11 阿里云负载均衡 安装前准备 开始部署前确保所有节点网络正常 能访问公网 主要操作都
  • Qt Qt5NetWork.lib Qthttp的get、post请求都无法响应解决方法(丧心病狂)

    qt项目中 get post请求都无法响应 抓包发现也并没有发出请求 程序也编写通过 什么原因就是找不到 最终发现 在新建Qt Gui application的时候 如果后续要做post和get请求 一定要选上NetWork NetWork
  • unity学习日记:如何在手机上实现第三人称视角

    在手机上实现第三人称视角与在电脑上并无太大区别 只不过需要检测屏幕触碰以及滑动等问题 大体思路就是 在每一帧的开头 将Camera放到target的位置上等待进行旋转 获取到每一帧手指滑动的位移值 再按照位移值进行相应的旋转 最后Camer
  • 实机安装kalilinux和windows双系统(有图详细介绍)

    我选择的u盘制作工具是universal USB install 选择最上边第一步系统 选择kalilinux 选择你的镜像位置 然后第三步选择你要用的u盘 然后按create 然后选是等待解压完成 然后进入你电脑管理分出来磁盘空间30g以

随机推荐

  • win10中 微软 输入法 简体字 与 繁体字 设定 切换

    前言 不知道按了什么快捷键 输入的文字都变成了繁体字效果 快捷键 ctrl shift f 设定方法如下 一步一步设定 2 3 4 5 6 7 8 9 10
  • Python——pymysql + DBUtils实现数据库连接池及数据批量读写

    文章目录 1 安装pymysql DBUtils 2 创建数据库连接池 3 读MySQL 1 只读一行 2 批量读取 4 写入MySQL 1 安装pymysql DBUtils pip3 install i https pypi tuna
  • Unity2019+ 版本JDK配置常见问题

    在之前那篇Vuforia的配置中 安卓环境的配置是没问题的 而有人反馈说JDK配置有问题 后面我挨个排查了问题 结合网上已有的问题 整理出这篇分享给大家 1 明明安装了对应Unity版本模块包却依然提示找不到OpenJDK 如图1 2 图1
  • Java:正则表达式工具的使用

    概述 在java中 提供了一些跟正则表达式有关的工具类 例如String Pattern Matcher PatternSyntaxException等等 可以进行丰富的与正则表达式有关的操作 本文便依据功能分类来对这些功能的使用进行详细讲
  • 网站延迟加载图像有哪些方法?

    加载图像时 网站可能遇到延迟的问题 以下是一些可以减少图像加载延迟的方法 1 图像优化 优化图像大小和格式是减少加载延迟的关键 可以使用图像编辑工具来压缩图像 减小文件大小 同时保持可接受的质量 另外 使用适当的图像格式 如JPEG PNG
  • Linux API函数大全

    获取当前执行路径 getcwd 1 API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资
  • “930大促”日活增速超40% ,哈啰如何用预案高效应急?

    一分钟精华速览 应急预案 是指在系统出现故障时 为了保障核心业务能够持续可用 而提前准备的指导手册 这个手册可以用来告诉我们 在遇到什么样的问题后 做什么样的操作能最大化地降低对业务的影响 将被动响应变为主动防御 哈啰结合 930大促 活动
  • matlab练习程序(二值图像连通区域标记法,一步法)

    这个只需要遍历一次图像就能够完全标记了 我主要参考了WIKI和这位兄弟的博客 这两个把原理基本上该介绍的都介绍过了 我也不多说什么了 一步法代码相比两步法真是清晰又好看 似乎真的比两步法要好很多 代码如下 clear all close a
  • maven更改镜像路径为阿里镜像

    maven仓库默认在国外 使用难免很慢 尤其是下载依赖的时候 换为国内镜像 下载速度会变快很多 国内支持maven镜像的有阿里云 开源中国等 这里换为阿里云的 maven每更新一次镜像地址 都会重新下载一次包 修改方法 修改maven根目录
  • 使用socket选项SO_RCVTIMEO和SO_SNDTIMEO设置超时时间

    socket选项SO RCVTIMEO和SO SNDTIMEO 他们分别 用来设置socket接受 发送数据超时时间 因此 这两个选项仅对数据接收和发送相关的socket专用系统调用有效 send sendmsg recv recvmsg
  • KEIL环境下找不到core_cmInstr.h文件的处理

    从办公室拷贝的工程 好像缺文件了 编译报错 后来打开工程目录发现里面缺很多文件 其他一个项目的工程如下有特别多的文件 加了文件后再编译就好了
  • shell脚本实现彩色进度条

    代码 bin bash index 0 i 0 bar label while i le 100 do let index i 4 let colour 30 i 8 echo en e 1 colour m printf 100s d c
  • fopen w 和wb

    w 表示为文本文件 用则会把文件中的 0A 变为 0D0A 因为某些文件系统认为 0A 为文本文件的换行符 windows认为 0D0A 为文本文件的换行符 为了兼容其他文件系统 如从linux拷贝来的文件 windows上的fopen函数
  • Linux下的Nginx安装及web项目配置

    工作需要 记录一下 安装并运行Nginx Nginx是一款轻量级的网页服务器 反向代理服务器 相较于Apache lighttpd具有占有内存少 稳定性高等优势 安装Nginx首先要安装依赖的运行库 cd 至 usr local目录进行安装
  • 对于Quaternion的初步理解

    Quaternion 四元数 在unity中用于角度的旋转 Euler函数 返回一个旋转角度 绕z轴旋转z度 绕x轴旋转x度 绕y轴旋转y度 像这样的顺序 Quaternion Euler new Vector3 0 90 0 表示绕y轴旋
  • 键盘输入一个字符串,统计每个字符出现的次数,并且按照结果格式输出

    键盘输入一个字符串 统计每个字符出现的次数 并且按照结果格式输出 需求 aababcabcdabcde 获取字符串中每一个字母出现的次数 要求结果输出格式是 a 5 b 4 c 3 d 2 e 1 分析 A 定义一个字符串 B 定义一个Tr
  • C++:类和对象(下)---对类和对象深入一些的理解

    文章目录 构造函数 初始化列表 explicit关键字 匿名对象 构造函数 初始化列表 前面已然介绍过构造函数 但并未完全结束 构造函数有很多种写法 有带缺省参数的 有全缺省的 不带缺省参数的 但用前面的方法 都是对里面成员变量的一种赋值
  • Jitter Removal in Image and Sequence

    去除重影 消抖 在 jitter removal images and video sequences Using robust decision Based Adaptive spatio temporal median Algorith
  • jupyter notebook环境配置(重写config文件、配置默认工作文件路径、如何解决需要token登陆的问题/解决无法跳转浏览器问题等)

    一 重写config文件 1 输入cmd命令 jupyter notebook generate config 2 根据文件生成路径找到generate config文件 3 双击或者记事本打开jupyter notebook congig
  • Qt入门 工具栏QToolBar和菜单栏QMenuBar(六)

    只有在继承了QMainWindow的窗体 才会有this gt menuBar gt addMenu 以及this gt addToolBar 函数 Qmune QMune与QMenuBar之间的关系见下面的代码 方法1 QMenu men