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

Qt QAction动作——菜单栏、工具栏、状态栏 菜单栏 阅读详情
AI摘要

本文介绍如何使用Qt创建菜单栏、工具栏和任务栏。包括如何添加菜单项、子菜单及其图标与快捷键,如何创建自定义工具栏及添加按钮控件,并展示如何在任务栏中显示文本。

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


标题及图标


// 标题大小
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的开发过程中,菜单的操作时非常有用的,相信这个就不必过多介绍啦!用惯了window的是再熟悉不过啦!特别是喜欢刷新的伙伴们。那这个是怎么实现的呢?在这里我要通过我对这个的认识来进行讲解。 首先第一点:这个菜单是怎么来的,里面的内容是怎么写上去的,还有就是为什么你叫它刷新,它就给你刷新,不给你干点别的,这些都是菜单方向的困惑; 第二点:为什么是右键的菜单,还有就是菜单的位置是怎么确定的,这 阅读详情

相关推荐

Qt之菜单栏、工具栏、状态栏介绍及工具栏QAction的动态增删显示实现方式

Qt之菜单栏、工具栏、状态栏介绍及工具栏QAction的动态增删显示实现方式

FreeLikeTheWind的博客 5168

Qt应用开发(基础篇)——菜单 QMenu

QMenu类继承于QWidget,它提供了一个菜单样式的小部件,用于菜单栏、上下文菜单和一些弹出式菜单。QMenu菜单的选项是可选的,它可以是一个下拉的菜单,也可以是独立的上下文菜单。下拉菜单通常作用于当用户单击相应的项目或按下指定的快捷键时,使用QMenuBar::addMenu()将菜单插入到菜单栏中,菜单栏将显示下拉菜单。上下文菜单通常通过一些特殊的键盘键或右键来调用。它们可以用popup()异步执行,也可以用exec()同步执行。当然菜单也可以在一些触发事件中调用,比如按下按钮时。QMenu。

波塞冬的博客 8889

Qt mainWindow添加状态栏,菜单栏,工具栏的Action方法

Qt mainWindow添加状态栏,菜单栏,工具栏的Action方法   //new 一个QAction openAction = new QAction(tr("&Open"), this); openAction->setShortcut(QKeySequence::Open);//添加快捷方式 openAction->setStatusTip(tr("O

@奮 鬥@的专栏 6604

Qt 菜单

1.添加两个主菜单项目 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QMenu> #include <QMenuBar> #pragma execution_character_set("utf-8") //支持中文 class MainWindow : public QMainWindow { Q_OBJECT publ

qq_16377055的博客 1427

Qt添加菜单及实现功能

在上述代码中,我们实现了“New”和“Exit”两个菜单的事件响应,以及“About”菜单的事件响应。其中,“New”菜单的事件响应为空。在Qt中,添加菜单及菜单的事件响应是非常常见的需求。本文将介绍如何在Qt中添加菜单,并实现菜单的事件响应。首先,在Qt Creator中创建一个新的Qt Widgets Application工程。至此,我们已经完成了菜单的添加和事件响应的实现。mainwindow.cpp文件。mainwindow.h文件。Qt添加菜单及实现功能。

CoderHH的博客 815

QTableView为例:Qt模型视图委托(MVD)(Model-View-Delegate)

QT中的MVD(模型-视图-委托)模式是一种类似于MVC的设计模式,将数据、界面和交互逻辑分离。模型负责数据管理,视图负责显示界面,而委托则嵌入在视图中处理数据的显示和编辑。QT提供了多种视图组件(如QListView、QTreeView、QTableView)和模型类(如QStandardItemModel、QAbstractItemModel),支持数据的多样化呈现。委托(Delegate)通过定制显示和编辑行为增强了视图的灵活性。该模式适用于各类数据结构展示(列表、表格、树形),能够高效处理数据与界面

菜一头包的博客 1989

Qt6入门教程 10:菜单栏、工具栏和状态栏

用Qt Creator新建基于QMainWindow的项目时,会自带菜单栏和状态栏。还是以前面的HelloWorld项目为例,通过Qt Designer和纯手写两种方式来添加或移除菜单栏、工具栏和状态栏。

草上爬的博客 1万+

计算机网络之NAT的解释与实验配置

NAT 静态NAT 动态NAT easy_ip NAT服务器映射

爱学习的JackYang的博客 1918

Qt纯代码实现菜单栏、工具栏、状态栏

目录 菜单栏 工具栏 状态栏 总体效果 在QWidget中实现菜单栏、工具栏、状态栏 其他 子窗口获取父窗口指针 QWidget阻塞模式 本篇演示的例子是在QMainWindow中进行的,在QWidget中可采取另外的方法,在文末会涉及。 菜单栏 步骤:创建菜单栏->创建菜单项->创建子项(动作QAction)->(QAction设置图片->QAc...

不积跬步无以至千里 1万+

工业界实战:小红书推荐系统中的AB测试策略解析——分层、Holdout与反转实验

本文深入解析了小红书推荐系统在工业界实践中采用的AB测试核心策略。重点阐述了分层实验如何解决多实验并行与干扰问题,Holdout机制如何作为评估黄金标准提供稳定基准,以及反转实验如何作为全量上线后的终极安全网进行风险控制。这些策略共同构成了科学、严谨的线上评估体系,是保障推荐系统迭代效果与决策质量的关键。

transformer2023的博客 477

价值微笑曲线与AI公司的位置

1. 背景介绍 1.1 问题由来 自20世纪60年代,哈佛大学商学院教授西奥多·波特提出了“价值链”理论以来,企业如何构建竞争优势成为企业经营管理领域的研究重点。随着全球化的发展和科技进步,企业竞争环境发生了深刻变化,传统价值链管理模式逐渐显现出局限性。近年来,全球竞争格局由成本竞争转向创新竞争,企业的生存

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 1095

【QT】QT 窗口(菜单栏、工具栏、状态栏、浮动窗口、对话框)

Qt 窗口是通过 QMainWindow类来实现的。 QMainWindow 是一个为用户提供主窗口程序的类,继承自 QWidget 类,并且提供了⼀个预定义的布局。QMainWindow 包含一个菜单栏(Menu Bar)、多个工具栏(Tool Bars)、多个浮动窗口(铆接部件)(Dock Widgets)、⼀个状态栏(Status Bar)和一个中心部件(Central Widget),它是许多应用程序的基础,如文本编辑器,图片编辑器等。如下图为 QMainwindow 中各组件所处的位置: Qt 中

Elena's Blog 7280

华为OD新系统机试真题 - 配置操作失败数量统计

华为OD机试新系统 4月8号【配置操作失败数量统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【配置操作失败数量统计】。

qq_45776114的博客 1161

Qt 窗口 工具栏QToolBar、状态栏StatusBar

一段时间没有更新,这段时间一直在忙各种事情,后续将再次上路持续更新C++相关知识 本章将继续前面的QT篇章,本章主要讲到Qt界面中的工具栏和状态栏,它和[前面Qt窗口中的菜单栏blog](https://z-y-k.blog.youkuaiyun.com/article/details/147548717?spm=1011.2415.3001.5331)关系非常密切,通过学习这三个内容你就能搭建一个窗口的基本框架了,后续还将更新子窗口的创建,敬请期待~

溟洵的博客 2466

STM32F401RCT6最小系统原理图设计

STM32F401RCT6最小系统原理图设计一、主控芯片二、电源电路三、晶振电路三、下载电路四、完整电路图      本文章基于STM32F401RCT6进行最小系统原理图设计,包含主控芯片,电源,晶振电路,下载电路等几部分 一、主控芯片 主控芯片采用STM32F401RCT6,需注意: VBAT在不接电池的情况下需接3.3V,VDDAVREF+需接3.3V,否则会造成芯片供电不正常,无法启动和识别的情况 VDDAVREF+和VCAP1处电容需按照规格书

weixin_43278295的博客 2万+

数据分享】中国12.5m数字高程模型(DEM)数据(分省)

数据名称:ALOS 12.5m DEM 数据。数据名称:ALOS 12.5m DEM 数据。数据大小:61.5GB。空间分辨率:12.5m。数据大小:61.5GB。空间分辨率:12.5m。

JData_Engineer的博客 5388

Qt开发⑦Qt的窗口_上_菜单栏+工具栏+状态栏

Qt开发⑦Qt的窗口_上_菜单栏+工具栏+状态栏(1.菜单栏 - 1.1 创建菜单栏 - 1.2 在菜单栏中添加菜单 - 1.3 创建菜单项 - 1.4 在菜单项之间添加分割线 - 1.5 添加快捷键 - 1.6 添加子菜单 - 1.7 添加图标 - 1.8 综合示例 2. 工具栏 - 2.1 创建工具栏 - 2.2 设置停靠位置 - 2.3 设置浮动属性 - 2.4 设置移动属性 - 2.5 综合示例 3. 状态栏 - 3.1 状态栏的创建 - 3.2 在状态栏中显示实时消息 - 3.3)

参考书籍:《C语言程序设计》《数据结构》《C++ Primer》《Effective C++》《STL源码剖析》《现代操作系统》《UNIX环境高级编程》《图解TCP/IP》《图解HTTP》《Linux高性能服务器编程》《剑指Offer》《算法导论》 1905

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Qt中创建使用菜单栏、工具栏、状态栏

Qt中创建使用菜单栏、工具栏、状态栏 1.菜单栏 软件(如QT)中“文件”、“编辑” 这一栏称为菜单栏。主要使用QMenuBar、QMenu、QAction类创建菜单栏及相关选项。 //.h里定义 QMenuBar *menu; QMenu *menu1; QMenu *menu2; QMenu *menu3; QAction *action1; QAction *action2; QAction *action3; QStatusBar *s

ppss177的博客 7491

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)

在使用Qt Creator创建UI文件时,MainWindow主窗口,主要包含:菜单栏、工具栏、状态栏等。

不脱发的程序猿 3万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Qt菜单栏工具栏状态栏的实现

文章目录前言一、建立菜单栏1.新建工程2.菜单栏的初步实现3.创建菜单项和添加分割线二、工具栏的实现1.工具栏的初步实现2.设置工具栏中的内容以及控件3.工具栏的一些限制命令三、状态栏的实现1.状态栏的初步设置2.设置标签控件3.设置铆接部件4.固定铆接部件停靠区域5.添加中心控件总结 前言 在前面学习Qt的时候,我完成了关于界面按钮的创建,以及信号与槽的实际应用,这次来自己用代码实现在一个窗口中建立菜单栏,工具栏以及状态栏 一、建立菜单栏 1.新建工程 按照箭头所指来操作 这里名字随便取 这..

weixin_48264057的博客 1641

【QT】窗口(菜单栏、工具栏、状态栏、对话框)

QT中窗口相关内容

weixin_69380220的博客 1460

Qt(菜单栏、工具栏、状态栏)

摘要:本文介绍了Qt中三种常见界面组件(菜单栏、工具栏、状态栏)的创建和使用方法。菜单栏通过menuBar()或new创建,可添加带图标的菜单项;工具栏支持多实例和拖动停靠,可添加QAction操作项;状态栏用于显示临时/永久消息和进度条,通过showMessage()、addPermanentWidget()等方法实现不同信息展示。三者均支持代码创建或UI设计器可视化设计,其中状态栏最多只能有一个实例。

HMBBLOVEPDX的博客 1181

QT添加菜单栏-工具栏-中心区域-状态栏-dock 示范

QT添加菜单栏-工具栏-中心区域-状态栏-dock 示范。

Txwtech 4242

【QT】窗口|菜单栏|菜单项|工具栏|状态栏|浮动窗口

当然,也可以添加其它widget空间,来达到"永久消息"的效果,比如添加label标签。状态栏是一个输出简要信息的区域,一般位于主窗口底部,一个窗口只能有一个状态栏;() (我们创建项目时如果勾选了.ui文件的自动创建),我们不需要在堆上。只需要在创建菜单项的时候,菜单项的名字后面加个(&+添加的快捷键即可)在创建工具栏的同时,也可以设置工具栏的位置,默认位置是在窗口的最上面;创建,而且这一方式也会造成本身携带的造成内存泄露:(因为,当我们自己。,位于主窗口顶部,主窗口标题下的位置;

m0_67367079的博客 2450

Qt 界面开发之菜单栏、工具栏和状态栏

【Qt开发】菜单栏,工具栏和状态栏 概述 菜单栏,工具栏,状态栏应用中经常见到,下图解释一目了然,实际开发中 两种方式来实现,一种是使用纯代码QMenuBar,QToolBar,QStatusBar来设计开发,另一种使用Qt Designer通过拖拽的形式来实现,减少了大量的代码,使用简单。 菜单栏 1.新建项目UI基类选择QMainWindow。 2.双击在这里输入,可修改一级菜单的名称。 3.动作编辑器里添加actionOpen,actionSave两个动作 4.鼠标左键.

Snow__Sunny的博客 2285
上一篇: 【QT】QT从零入门教程(三):信号与槽
下一篇: 【QT】QT从零入门教程(五):图像文件操作 [新建打开保存]
笔尖bj
博客等级 码龄13年 1543粉丝 99原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值