菜单栏 最多有一个
QMenuBar * bar = MenuBar(); //创建菜单栏
setMenuBar(bar) //显示菜单栏
QMenu * fileMenu = bar->addMenu("文件") //创建菜单
QAction *newAction = fileMenu0>addAction("新建"); //创建菜单项
fileMenu->addSeparator() //添加分割线
工具栏 可以有多个
QToolBar *toolbar = new QToolBar(this);
addToolBar(默认停靠区域,toolbar); Qt ::LeftToolBarArea
设置后期停靠区域、设置浮动窗口、设置是否可移动
状态栏 最多有一个
QStatusBar * stBar = statusBar();
setStatusBar(stBar); //设置到窗口中
stBar->addWidget(label); //放左侧信息
stBar->addPermanentWidget(label2); //放右侧信息
锚接部件 浮动窗口 可以有多个
QDockWidget * dockWidget = new QDockWidget("浮动",this);
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
设置后期停靠区域 dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
设置核心部件 最多有一个
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar>
#include <QDebug>
#include <QToolBar>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//重置窗口大小
resize(600,400);
//菜单栏
QMenuBar *bar = menuBar();
//显示菜单栏
setMenuBar(bar);
//创建菜单
QMenu * fileMenu = bar->addMenu("文件");
QMenu * editMenu = bar->addMenu("编辑");
//创建菜单项
QAction * newAction = fileMenu->addAction("新建");
//添加分隔符
fileMenu->addSeparator();
QAction * openAction = fileMenu->addAction("打开");
//工具栏:可以有多个
QToolBar * toolBar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea, toolBar);
//设置允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
//设置浮动
toolBar->setFloatable(false);
//设置移动(总开关,如果关闭移动,浮动停靠都无法使用)
toolBar->setMovable(false);
//设置工具栏内容
toolBar->addAction(newAction);
toolBar->addSeparator();
toolBar->addAction(openAction);
//工具栏中添加控件
QPushButton *btn = new QPushButton("按钮", 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 | Qt::BottomDockWidgetArea);
//设置中心部件 只能有一个
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
}
MainWindow::~MainWindow()
{
delete ui;
}
总结
只能有一个的 ——菜单栏、状态栏、中心部件 用set设置
可以有多个的——工具栏、锚接部件、各种控件 用new设置