菜单栏、工具栏、任务栏是软件中常见的组件,本节将会讲解如何创建菜单栏并生成一级菜单、二级菜单,如何在工具栏中添加图标和控件,如何在任务栏中显示文本。


标题及图标


// 标题大小
setWindowTitle("图像处理自编软件 by 笔尖");// 软件图标
setWindowIcon(QIcon("../Image/icon/ImageProcessing.png"));// 界面大小
resize(QApplication::desktop()->width()*0.9, QApplication::desktop()->height()*0.9);
move(QApplication::desktop()->width()*0.05, QApplication::desktop()->height()*0.01);

菜单栏

// 第一个菜单
QMenu *menu1 = menuBar()->addMenu(tr("菜单栏1"));// 创建子菜单,第一个参数QIcon为添加图标,注意路径是否正确,第二个参数是子菜单的显示文本
QAction *act1 = new QAction(QIcon("../Image/act1.png"), tr("子菜单"), this);// 创建快捷方式:Ctrl+N,如果想自定义快捷键,可以设置为act->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_N));
act1->setShortcuts(QKeySequence::New);// 子菜单触发时执行槽函数,不明白的可以参见前文:信号与槽
connect(act1, SIGNAL(triggered()), this, SLOT(pSlot1()));// 菜单栏添加子菜单
menu1->addAction(act1);// 第二个菜单:添加二级菜单
QMenu *menu2 = menuBar()->addMenu(tr("菜单栏2"));
QAction *act2 = new QAction(QIcon("../Image/act2.png"), tr("一级菜单"), this);QMenu *submenu = new QMenu();
QAction *subact = new QAction(QIcon("../Image/subact.png"), tr("二级菜单"), this);
submenu->addAction(subact);
connect(subact, SIGNAL(triggered()), this, SLOT(subSlot()));act2->setMenu(submenu); // 将二级菜单添加到一级菜单上
menu2->addAction(act2); // 将一级菜单添加到菜单栏上

运行结果


工具栏

// 窗口自带的工具栏
ui.mainToolBar->addAction(act1);    //添加动作// 自定义工具栏
QToolBar *toolBar = new QToolBar();
toolBar->setMovable(false);     // 设置工具栏不可移动,默认是可移动
addToolBar(toolBar);                // 把工具栏添加到窗口QPushButton *button = new QPushButton();    // 这里用按钮控件进行测试
button->setText(tr("控件"));toolBar->addAction(subact);         // 添加动作
toolBar->addWidget(button);         // 添加控件

运行结果


任务栏

// 任务栏
act1->setStatusTip(tr("子菜单"));
act2->setStatusTip(tr("一级菜单"));
subact->setStatusTip(tr("二级菜单"));

运行结果


提示

  如果出现汉字乱码问题,需要在程序中添加#pragma execution_character_set("utf-8")!!!

  头文件中找不到QPushButton的,说明缺少头文件。

  博主用到的头文件有

#include <QtGui>
#include <QtWidgets>
#include <string>
#include <QMainWindow>

【QT】QT从零入门教程(四):菜单栏、工具栏、状态栏相关推荐

  1. LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库

    LittleVGL (LVGL)干货入门教程四之制作和使用中文汉字字库 前言: 阅读前,请确保你至少拥有以下条件: 已实现显示API(教程一已实现, 链接:LittleVGL (LVGL)入门教程一之 ...

  2. 【QT】QT从零入门教程(一):图像处理自编软件

    自说自话   寒假有了闲暇时间,于是决定做一个实际点的项目.在此之前,一直想做一款软件,把自己所学过的知识融汇进去,以软件界面的形式呈现出来.此前接触过OpenCV,学C++也有一段时间了,正好想从零 ...

  3. Python+Opencv图像处理新手入门教程(四):视频内容的读取与导出

    一步一步来吧 上一节: Python+Opencv图像处理新手入门教程(三):阈值与二值化 1.Intro 今天这节我们主要看怎么利用opencv读取并处理视频中的内容. 2.VideoCapture ...

  4. (原创)LEON3入门教程(四):基于AMBA APB总线的七段数码管IP核设计

    摘要:这一小节将介绍下如何设计用户自定义的APB IP,并将IP嵌入到SOPC中去.一个APB IP核的主要分为三个部分:逻辑单元.寄存器单元和接口单元.所设计的IP是一个简单的七段数码管显示IP,只 ...

  5. docker 镜像修改的配置文件自动还原_原创 | 全网最实在的docker入门教程四

    作者:潘吉祥 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些命令就执行失败,我们还不知道错误在哪,这着实有 ...

  6. python画图颜色表示大小变化_python画图(线条颜色、大小、类型:点、虚线等)(图文详细入门教程四)...

    初衷 本人由于平常写论文需要输出一些结果图,但是苦于在网上搜python画图时,详细的教程非常多,但是就是找不到能马上解决自己问题那一行代码,所以打算写一些适合需求简单的朋友应急用的教程,应急就必须方 ...

  7. SpringCloud 入门教程(四): 分布式环境下自动发现配置服务

    前一章, 我们的Hello world应用服务,通过配置服务器Config Server获取到了我们配置的hello信息"hello world". 但自己的配置文件中必须配置co ...

  8. docker registry push 覆盖_原创 | 全网最实在的docker入门教程四

    原创头条号:码农code之路,作者:潘吉祥,转载请标明出处 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些 ...

  9. Spring Boot入门教程(四十):微信支付集成-刷卡支付

    分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 一:准备工作 使用微信支付需要先开通服务号,然后还要开通微信支付,最后还要配置一些开发参数,过程比较多. 申请服务号(企业 ...

最新文章

  1. 从0开始搭建编程框架——思考
  2. [BZOJ2938]:[Poi2000]病毒
  3. Linux-Iptables-Memcached实现内网转发连接
  4. Linux下安装 Indy 到 Lazarus
  5. Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
  6. python复合条件判断_Python的条件判断和循环
  7. sublime text3占用CPU过高
  8. 表格 滚动条 (tbody部分滚动)
  9. 拓端tecdat|采用SPSS Modeler的Web复杂网络对所有腧穴进行关联规则分析
  10. (转)别只盯着比特币!“野蛮生长”的ICO江湖:2年30倍只是寻常
  11. ps 毛发 边缘_【常用抠图小技巧】PS调整边缘扣毛发
  12. 什么是bug ,bug的生命周期都有什么?你想知道的全在这里了。
  13. 靶机渗透日记 noob
  14. java根据经纬度获取详细地址
  15. 使用redis实现附近的人
  16. 实时摄像头流传输(直播)
  17. 高德地图 poi 搜索
  18. 2021-06-29 连续非空子序列
  19. java生成word排版_java生成word(文字和图片)
  20. 如何自定义排序 aAbBcC 即Excel中的排序,AaBbCc

热门文章

  1. HNU 实验五松雅的旅馆
  2. Vivado设计流程(二)设计文件输入
  3. P4 数据记录增删查改操作
  4. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation 论文笔记
  5. 给定一个9位数字的ISBN,求其校验位
  6. C#将Access数据库导出为JSON
  7. 剑指offer——2.实现Singleton模式
  8. 【Spring Cloud】负载均衡-Ribbon
  9. Linux下部署Spring Boot项目
  10. String变量作为参数传递的是String变量的副本