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
效果演示