创建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);
相关推荐
blasit8 小时前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
肆忆_1 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星2 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛3 天前
delete又未完全delete
c++
端平入洛4 天前
auto有时不auto
c++
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1235 天前
matlab画图工具
开发语言·matlab
dustcell.5 天前
haproxy七层代理
java·开发语言·前端
norlan_jame5 天前
C-PHY与D-PHY差异
c语言·开发语言
哇哈哈20215 天前
信号量和信号
linux·c++