创建QMainWindow菜单栏

创建项目

步骤大抵与之前一样

选择创建Qt Widgets Application

选择项目路径以及为项目命名

在选择基类时选择QMainWindow

g

选择构建套件

创建工具栏

cpp 复制代码
//mainwindow源文件(mainwindow.cpp)
#include <QMenuBar>
#include <QMenu>
#include <QAction>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QMenuBar* mb = new QMenuBar(this);    //创建菜单栏
    this->setMenuBar(mb);                 //添加菜单栏到窗口
    this->resize(400, 300);
    //创建菜单
    QMenu* menu_02 = new QMenu("编辑");
    QMenu* menu_01 = new QMenu("文件");      
    QMenu* menu_03 = new QMenu("工具");
    //添加菜单到菜单栏
    mb->addMenu(menu_01);
    mb->addMenu(menu_02);
    mb->addMenu(menu_03);
    //创建行为
    QAction* act_01 = new QAction("新建");
    QAction* act_02 = new QAction("保存");
    //添加行为到菜单
    menu_01->addAction(act_01);
    menu_01->addAction(act_02);
}

实现效果:

添加功能

背景知识:当点击界面中的Action时会触发出一个信号函数,将此信号与想要实现的槽函数连接即可

cpp 复制代码
//code
connect(act_01, &QAction::triggered, this, &QMainWindow::close);
相关推荐
Evand J4 分钟前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
蒸蒸yyyyzwd11 分钟前
机试学习笔记
c++·求职招聘
杜大哥26 分钟前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python
wuyk55526 分钟前
Python网络爬虫入门到实战 第01章:爬虫到底是什么?原理、流程、合法性、风险全解析(零基础必看)
开发语言·爬虫·python
yurenpai(27届找实习中)34 分钟前
Java 10 的 var 为什么不能随便用?从订单汇总看懂类型推断与泛型陷阱
java·开发语言·java18
shmily麻瓜小菜鸡1 小时前
JS/TS 易踩坑知识点 — 模块化与工程化类
开发语言·javascript·ecmascript
geovindu1 小时前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
handler011 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
郝学胜-神的一滴2 小时前
C++11 工程级应用 09:告别无谓拷贝,解锁高性能移动语义
开发语言·数据结构·c++·vscode·软件工程·visual studio
MC皮蛋侠客3 小时前
OPC UA 系列(一):标准全景与 Python 最小闭环——让第一条设备数据流动起来
开发语言·python·opcua