下面是相关的程序文件,仅供参考:
概述
QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
注意:在添加对应栏的时候需要在cpp文件中添加对应的头文件
#include <QMenuBar>
#include <QToolBar>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>
1. 菜单栏(最多一个)
1.1. 创建菜单栏
我们先重置以下窗口大小,然后创建一个菜单栏(注意最多只能创建一个),并将其放入窗口中,否则不会显示到窗口中。
//重置窗口大小
resize(600,400);
//菜单栏 最多只能有一个
//菜单栏创建
QMenuBar *bar=menuBar();
//将菜单栏放入到窗口中
setMenuBar(bar);
1.2. 创建菜单
我们在菜单栏中添加两个菜单:文件和编辑
//创建菜单
QMenu * fileMenu = bar->addMenu("文件");
QMenu * editMenu = bar->addMenu("编辑");
效果如下:
1.3. 创建菜单项
我们对文件这个菜单下添加两个选项:新建和打开,并添加分隔符将其隔开
//创建菜单项
QAction * newAction = fileMenu->addAction("新建");
//添加分隔符
fileMenu->addSeparator();
QAction * openAction = fileMenu->addAction("打开");
效果如下:
1.4. 总结
菜单栏:
- 创建菜单栏——
menuBar();
- 将菜单栏放入窗口——
setMenuBar();
- 创建菜单——
addMenu();
- 创建菜单项——
addAction();
- 添加分割符号——
addSeparator();
2. 工具栏(可以有多个)
工具栏:
- 创建工具栏——
QToolBar();
- 设置工具栏的默认方位——
addToolBar();
- 设置工具栏的停靠区域——
setAllowedAreas();
- 设置浮动操作——
setFloatable();
- 设置移动(总开关)——
setMovable();
- 设置工具栏选项——
addAction();
- 工具栏中添加控件——
addWidget();
//工具栏 可以有多个
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("aa",this);
toolBar->addWidget(btn);
效果如下:
3. 状态栏(最多一个)
状态栏
- 创建状态栏——
statusBar();
- 设置到窗口——
setStatusBar();
- 添加控件——
addWidget();
(默认左侧) - 在右侧添加控件——
addPermanentWidget();
//状态栏 最多有一个
QStatusBar * stBar = statusBar();
//设置到窗口中
setStatusBar(stBar);
//放标签控件
QLabel * label = new QLabel("提示信息",this);
stBar->addWidget(label);
QLabel * label2 = new QLabel("右侧提示信息",this);
stBar->addPermanentWidget(label2);
效果如下:
4. 铆接部件(浮动窗口-可以有多个)
铆接部件:
- 创建铆接部件——
QDockWidget();
- 设置默认方位——
addDockWidget();
- 设置后期停靠区域——
setAllowedAreas();
//铆接部件(浮动窗口) 可以有多个
QDockWidget * dockWidget = new QDockWidget("浮动",this);
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置后期停靠区域,只允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
//设置中心部件 只能一个
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
效果如下:
5. 中心部件(最多一个)
中心部件:
- 创建中心部件——
QTextEdit();
- 设为中心部件——
setCentralWidget();
//设置中心部件 只能一个
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
效果如下: