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() { }