QT基础-菜单栏学习

QT基础-菜单栏学习

参考Qt学习笔记(五):菜单栏

maindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent):QMainWindow(parent){
    
    
    this->resize(1200,1300);
    // 创建菜单栏对象
    QMenuBar *mBar = this->menuBar();
    // 添加菜单
    QMenu *fileMenu = mBar->addMenu("文件");
    QMenu *editMenu = mBar->addMenu("编辑");
    // 添加子菜单
    QAction *newFileMenu = fileMenu->addAction("新建文件");
    QAction *copyMenu = editMenu->addAction("复制");
    // 分割线
    setSeparat(fileMenu);
    setSeparat(editMenu);
    QAction *openMenu = fileMenu->addAction("打开新窗口");
    // 分割线
    setSeparat(fileMenu);
    QAction *findMenu = fileMenu->addAction("访达");
    connect(newFileMenu,&QAction::triggered,this,[=]{
    
    
        qDebug()<<"新建文件";
    });
    connect(copyMenu,&QAction::triggered,this,[=]{
    
    
        qDebug()<<"复制文件";
    });
    connect(openMenu,&QAction::triggered,this,[=]{
    
    
        qDebug()<<"打开新窗口";
    });
    connect(findMenu,&QAction::triggered,this,[=]{
    
    
        qDebug()<<"访达";
    });



}
MainWindow::~MainWindow()
{
    
    
    delete ui;
}
void MainWindow::setSeparat(QMenu *ptr){
    
    
    ptr->addSeparator();
}

maindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>
#include <QDebug>
#include <iostream>
#include <QMenuBar>
#include <QMenu>
#include <QAction>
using std::endl;
QT_BEGIN_NAMESPACE
namespace Ui {
    
     class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    
    
    Q_OBJECT

public:
    int b;
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    void setSeparat(QMenu *ptr=0);
private:
    Ui::MainWindow *ui;
    QPushButton *btn;
};
#endif // MAINWINDOW_H

效果演示

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35140742/article/details/122769142