mainwindow.cpp:
#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QLabel>
#include<QStatusBar>
#include<QDockWidget>
#include<QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置窗口大小
resize(600,400);
//包含菜单栏,只有一个
QMenuBar* bar = menuBar();
//将菜单栏放入到窗口中
this->setMenuBar(bar);
//如果栏是空的,将不会显示
//来一个创建文件的菜单
//同样的方式创建多个菜单
QMenu* fileMenu = bar->addMenu("文件"); //返回QMunu类型
QMenu* editMenu = bar->addMenu("编辑");
QMenu* buildMenu = bar->addMenu("构建");
QMenu* debugMenu = bar->addMenu("分析");
QMenu* toolMenu = bar->addMenu("工具");
QMenu* kongjianMenu = bar->addMenu("控件");
QMenu* helpMenu = bar->addMenu("帮助");
//添加菜单项
/*QAction* qa = fileMenu->addAction("新建文件");
QAction* qb = fileMenu->addAction("打印");
QAction* qc = fileMenu->addAction("结束");
QAction* qd = fileMenu->addAction("重新打开");*/
//在fileMenu菜单中添加菜单项:
QAction* newAction = fileMenu->addAction("新建");
//添加分割线
fileMenu->addSeparator(); //在新建和打开这两个菜单项中添加分割线
QAction* openAction = fileMenu->addAction("打开");
//在editMenu菜单中添加菜单项
//QAction* allSelectAction = editMenu->addAction("选");
// QAction* copyAction = editMenu->addAction("贴");
// QAction* allAction = editMenu->addAction("全选");
//工具栏 可以有多个
//addToolBar()是一个重载函数,默认位置为:TopToolBarArea,是一个枚举类型
QToolBar* toolBar = new QToolBar(this); //指定父亲this
addToolBar(toolBar); //添加到当前窗口
addToolBar(Qt::LeftToolBarArea,toolBar); //设置工具栏的停靠范围为左侧,默认停靠在左侧
//只允许工具栏左、右侧停靠
//toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea),在QToolBar下的共有成员函数
//只允许工具栏左、下侧停靠,void setAllowedAreas(Qt::ToolBarAreas areas),
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::BottomToolBarArea);
//设置浮动: void setMovable(bool movable),在QToolBar下的共有成员函数
toolBar->setFloatable(false);
//设置移动(总开关)
toolBar->setMovable(false); //设置为不移动后,就不能移动了(不能改变停靠)
//工具栏添加菜单项
toolBar->addAction(newAction); // toolBar->addAction("新建")
toolBar->addSeparator(); //可以加分割线
toolBar->addAction(openAction); // toolBar->addAction("打开")
//状态栏
QStatusBar* staBar=statusBar();
this->setStatusBar(staBar); //将状态栏放到窗口中,默认在下侧
QLabel* label = new QLabel("提示信息",this);
staBar->addWidget(label); //添加提示信息到左侧
QLabel* label2 = new QLabel("右侧提示信息",this);
staBar->addPermanentWidget(label2); //在右侧添加:addPermanentWidget()
//铆接部件、浮动窗口 可以有多个
QDockWidget* dock = new QDockWidget;
//添加浮动窗口(铆接部件)到窗口中
addDockWidget(Qt::BottomDockWidgetArea,dock); //addDockWidget()函数是重载函数,查addDockWidget()函数
//设置铆接部件的停靠范围,停靠在上侧、右侧
dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::RightDockWidgetArea);
//核心部件,核心部件只能有一个,锚接部件跟
QTextEdit* edit = new QTextEdit; //文本编辑器
setCentralWidget(edit);
/*可以有多个的,是add...,只有是一个的,是set...*/
}
MainWindow::~MainWindow()
{
}