Qt版本:5.12.0
菜单栏最多只能有一个;工具栏可以有多个。
#include "mainwindow.h"
#include <QMenuBar>
#include<QDebug>
#include<QToolBar>
#include<QPushButton>
#include<QStatusBar>
#include<QLabel>
#include<QDockWidget>
#include<QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置窗口大小
resize(800,600);
//创建菜单栏
QMenuBar * bar=menuBar();
//将菜单栏放入窗口中
setMenuBar(bar);
//创建菜单
QMenu * fileMenu=bar->addMenu("文件");
QMenu * editMenu=bar->addMenu("编辑");
//创建菜单项
QAction * newAction=fileMenu->addAction("新建");
//fileMenu->addAction("新建");
//fileMenu->addAction("打开");
//添加分隔线
fileMenu->addSeparator();
QAction * openAction=fileMenu->addAction("打开");
//fileMenu->addAction("打开");
//工具栏 可以由多个
QToolBar * toolBar=new QToolBar(this);//创建到对象树上,自动释放内存
addToolBar(Qt::LeftToolBarArea,toolBar);//左边工具栏
//后期设置,只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
//设置浮动
toolBar->setFloatable(false);
//设置移动(总开关)
toolBar->setMovable(false);//设置移动的开关关闭,即false,工具栏窗口不能移动,只能固定
//工具栏设置内容
toolBar->addAction(newAction);
//添加分隔线
toolBar->addSeparator();
toolBar->addAction(openAction);
//工具栏中添加控件
//按钮
QPushButton * btn=new QPushButton("AA",this);
toolBar->addWidget(btn);
//状态栏 最多也只有一个
QStatusBar * stBar=statusBar();
//设置到窗口中
setStatusBar(stBar);
//放置标签控件
QLabel * label=new QLabel("下面的状态栏",this);
stBar->addWidget(label);
QLabel * label2=new QLabel("右下角下面的状态栏",this);
stBar->addPermanentWidget(label2);
//铆接部件(浮动窗口)
QDockWidget * dockWidget=new QDockWidget("浮动",this);
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置后期停靠,只允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea);
//设置中心部件
QTextEdit * edit= new QTextEdit(this);
setCentralWidget(edit);
}
MainWindow::~MainWindow()
{
}