QMenuBar和QMenu
构建一个菜单栏:menuBar
//创建菜单栏 QMenuBar *bar = menuBar(); //设置到页面中 this->setMenuBar(bar);
创建两个菜单:addMenu
QMenu *fileMenu = bar->addMenu("文件");
QMenu *editMenu = bar->addMenu("编辑");效果:

创建下来菜单:addAction
//创建菜单
QAction *open = fileMenu->addAction("打开");
//创建分隔符
fileMenu->addSeparator();
QAction *exit = fileMenu->addAction("退出");
添加工具栏:
// 工具栏 QToolBar *toolbar = new QToolBar(this); addToolBar(toolbar);
添加工具栏按钮:addAction 和 addWidget
//添加按钮 关联菜单栏
toolbar->addAction(open);
//文字添加
toolbar->addAction("打开");
//添加按钮
QPushButton *btn = new QPushButton("测试",this);
toolbar->addWidget(btn);
设置工具栏位置:
//系统枚举
enum ToolBarArea {
LeftToolBarArea = 0x1,
RightToolBarArea = 0x2,
TopToolBarArea = 0x4,
BottomToolBarArea = 0x8,
ToolBarArea_Mask = 0xf,
AllToolBarAreas = ToolBarArea_Mask,
NoToolBarArea = 0
};
//放在左侧
addToolBar(Qt::LeftToolBarArea,toolbar);
设置工具移动
// 禁用移动 toolbar->setMovable(false);
禁用工具浮动
//设置浮动 toolbar->setFloatable(false);
完整代码:
#include "mainwindow.h"
#include "QMenuBar"
#include "QToolBar"
#include "QPushButton"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置大小
this->resize(800,600);
//创建菜单栏
QMenuBar *bar = menuBar();
//设置到页面中
this->setMenuBar(bar);
QMenu *fileMenu = bar->addMenu("文件");
QMenu *editMenu = bar->addMenu("编辑");
//创建菜单
QAction *open = fileMenu->addAction("打开");
//创建分隔符
fileMenu->addSeparator();
QAction *exit = fileMenu->addAction("退出");
// 工具栏
QToolBar *toolbar = new QToolBar(this);
addToolBar(toolbar);
//添加按钮 关联菜单栏
toolbar->addAction(open);
//文字添加
toolbar->addAction("打开");
//添加按钮
QPushButton *btn = new QPushButton("测试",this);
toolbar->addWidget(btn);
//放在左侧
addToolBar(Qt::LeftToolBarArea,toolbar);
// // 禁用移动
// toolbar->setMovable(false);
//设置浮动
toolbar->setFloatable(false);
}
MainWindow::~MainWindow()
{
}