目录
QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等



1、创建一个菜单栏没有扔到屏幕上

2、把菜单栏放入窗口,并创建菜单
菜单栏最多只能有一个

- #include "mainwindow.h"
- #include <QMenuBar>
-
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- {
- // 重置窗口大小
- resize(600, 400);
-
- // 菜单栏创建
- QMenuBar *bar = menuBar();
-
- // 将菜单栏放入到窗口中
- setMenuBar(bar);
-
- // 创建菜单
- QMenu* fileMenu = bar->addMenu("文件");
- QMenu* editMenu = bar->addMenu("编辑");
- }
-
- MainWindow::~MainWindow()
- {
- }
3、创建菜单项

4、添加分隔符

1、默认生成
- #include "mainwindow.h"
- #include <QMenuBar>
- #include <QToolBar>
- #include <QDebug>
-
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- {
- // 重置窗口大小
- resize(600, 400);
-
- // 菜单栏创建
- QMenuBar *bar = menuBar();
-
- // 将菜单栏放入到窗口中
- setMenuBar(bar);
-
- // 创建菜单
- QMenu* fileMenu = bar->addMenu("文件");
- QMenu* editMenu = bar->addMenu("编辑");
-
- fileMenu->addAction("新建");
- fileMenu->addSeparator();
- fileMenu->addAction("打开");
-
- QToolBar* toolBar = new QToolBar(this);
- addToolBar(toolBar);
- }
-
- MainWindow::~MainWindow()
- {
- }

2、在左边生成
可以查文档有关这个函数其他参数

3、只允许左右停靠

4、不允许浮动

5、移动的总开关
关闭这个开关,上面设置的东西都没有意义了
toolBar->setMovable(false);
6、在工具栏中设置内容

- #include "mainwindow.h"
- #include <QMenuBar>
- #include <QToolBar>
- #include <QDebug>
-
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- {
- // 重置窗口大小
- 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->addAction(newAction);
- toolBar->addAction(openAction);
- }
-
- MainWindow::~MainWindow()
- {
- }
-
添加分隔线

7、工具栏中添加控件

1、状态栏
最多只能有一个
- #include "mainwindow.h"
- #include <QMenuBar>
- #include <QToolBar>
- #include <QDebug>
- #include <QPushButton>
- #include <QStatusBar>
- #include <QLabel>
-
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- {
- // 重置窗口大小
- 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->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);
- }

2、右侧提示信息
加头文件 #include <QDockWidget>

设置后期停靠区域,只允许上下

只能设置一个
添加头文件 #include <QTextEdit>
