参考Qt学习笔记(六):工具栏
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent){
this->resize(1200,1300);
QToolBar *tBar = new QToolBar(this);
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("访达");
tBar->addAction(newFileMenu);
tBar->addAction(copyMenu);
this->addToolBar(Qt::LeftToolBarArea,tBar);
tBar->setAllowedAreas(Qt::LeftToolBarArea
|Qt::RightToolBarArea);
tBar->setFloatable(false);
tBar->setMovable(false);
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();
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
#include <QDebug>
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QToolBar>
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;
};
#endif
效果展示