MainWindow工程
菜单栏:
- 一个窗口中菜单栏只能有一个
- 重置生成窗口大小:resize(长,宽)
- 创建菜单栏:QMenuBar * bar = menuBar() (此时此菜单栏在主窗口外面)
- 将菜单栏放入窗口内:setMenuBar(bar)
- 创建菜单栏中的菜单:QMenu * fileMenu = bar->addMenu("文件")
- 创建菜单具体项目:QAction * newAction = fileMenu->addAction("新建")
- 多个项目之间添加分隔符:fileMenu->addSeparator()
工具栏:
- 一个窗口中工具栏可以有多个
- 创建工具栏:QToolBar * toolBar = new QToolBar(this)
- 将工具栏放入窗口内:addToolBar(Qt::RightToolBarArea,toolBar)
- 设置工具栏的停靠范围(可以上下左右):toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea)
- 设置是否允许拖拽浮动:toolBar->setFloatable(false)
- 设置是否移动(总开关,一旦设置,上面所有的操作都没意义):toolBar->setMovable(true)
- 设置工具栏中的内容:toolBar->addAction("abc")
- 设置和菜单栏中的项目共用:toolBar->addAction(newAction)
- 工具栏中添加控件(按钮):QPushButton * btn = new QPushButton("CCCC",this); toolBar->addWidget(btn);
状态栏:
- 最多一个
- 创建状态栏:QStatusBar * stBar = statusBar()
- 设置到窗口中:setStatusBar(stBar)
- 创建标签控件:QLabel * label = new QLabel("提示信息",this)
- 放置标签到状态栏中,默认左侧:stBar->addWidget(label)
- 放置到右侧:stBar->addPermanentWidget(label2)
中心部件:
- 创建记事本:QTextEdit * edit = new QTextEdit(this)
- 设置到中心位置:setCentralWidget(edit)
铆接部件(浮动窗口):
- 可以创建多个
- 创建浮动窗口:QDockWidget * dockWidget = new QDockWidget("浮动窗口",this)
- 添加浮动窗口到主窗口:addDockWidget(Qt::BottomDockWidgetArea,dockWidget)
- 设置停靠区域:dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea)
mainwindow.cpp
#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QPushButton>
#include<QStatusBar>
#include<QLabel>
#include<QDockWidget>
#include<QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置窗口
resize(600,400);
//菜单栏的创建
//菜单栏只能有一个
QMenuBar *bar = menuBar();
//将菜单栏放入到窗口中
setMenuBar(bar);
//创建菜单
QMenu * fileMenu = bar->addMenu("文件");
QMenu * editMenu = bar->addMenu("编辑");
QMenu * constructMenu = bar->addMenu("构建");
QMenu * debugMenu = bar->addMenu("调试");
QMenu * analyzeMenu = bar->addMenu("分析");
QMenu * toolMenu = bar->addMenu("工具");
QMenu * controlMenu = bar->addMenu("控件");
QMenu * helpMenu = bar->addMenu("帮助");
//创建菜单项
QAction * newAction = fileMenu->addAction("新建");
//添加分割符
fileMenu->addSeparator();
QAction * saveAction = fileMenu->addAction("保存");
editMenu->addAction("全选");
//工具栏 可以有多个
QToolBar * toolBar = new QToolBar(this);
//将工具栏添加到主窗口
addToolBar(Qt::RightToolBarArea,toolBar);
//设置工具栏的停靠范围 只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
//设置浮动 不允许浮动
toolBar->setFloatable(false);
//设置是否移动(总开关) 一旦设置 上面所有的操作都没意义
toolBar->setMovable(true);
//工具栏中设置内容
toolBar->addAction("abc");
toolBar->addSeparator();
//和菜单栏共用
toolBar->addAction(newAction);
//工具栏中添加控件
QPushButton * btn = new QPushButton("CCCC",this);
toolBar->addWidget(btn);
//状态栏 最多一个
QStatusBar * stBar = statusBar();
//设置到窗口中
setStatusBar(stBar);
//添加标签控件
QLabel * label = new QLabel("提示信息",this);
QLabel * label2 = new QLabel("提示信息",this);
//放置到状态栏标签控件,默认左侧
stBar->addWidget(label);
//放置到右侧
stBar->addPermanentWidget(label2);
//中心部件
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
//铆接部件(浮动窗口),可以创建多个
QDockWidget * dockWidget = new QDockWidget("浮动窗口",this);
//添加到窗口
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置停靠区域
dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea);
}
MainWindow::~MainWindow()
{
}