#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{
this->resize(1200,600);
//创建菜单栏,只能有一个
QMenuBar* menuBarPointer = menuBar();
this->setMenuBar(menuBarPointer);
QMenu* menuFile = menuBarPointer->addMenu("文件");
QAction* menuFile_AddNew = menuFile->addAction("新建文件或项目");
menuFile->addSeparator();
QAction* menuFile_Open = menuFile->addAction("打开文件或项目");
QMenu* affiliateMenu = new QMenu(this);
menuFile_AddNew->setMenu(affiliateMenu);
affiliateMenu->addAction("子菜单1");
affiliateMenu->addAction("子菜单2");
//创建工具栏,可以有多个
QToolBar* toolBarPointer = new QToolBar(this);
this->addToolBar(Qt::LeftToolBarArea,toolBarPointer);
toolBarPointer->setMovable(true);
toolBarPointer->setFloatable(false);
toolBarPointer->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
QMenu* menuTest = new QMenu("测试1",this);
QAction* actionWelcome = menuTest->addAction("欢迎");
QMenu* menuWelcome = new QMenu("测试2",this);
actionWelcome->setMenu(menuWelcome);
menuWelcome->addAction("项目");
menuWelcome->addAction("示例");
menuWelcome->addAction("教程");
toolBarPointer->addAction(actionWelcome);
//创建状态栏,只能有一个
QStatusBar* statusBarPointer = statusBar();
this->setStatusBar(statusBarPointer);
QLabel* labelPointer1 = new QLabel("左侧信息",this);
statusBarPointer->addWidget(labelPointer1);
QLabel* labelPointer2 = new QLabel("右侧信息",this);
statusBarPointer->addPermanentWidget(labelPointer2);
QLabel* labelPointer3 = new QLabel("插入信息",this);
statusBarPointer->insertWidget(0,labelPointer3);
//创建铆接部件,可以有多个
QDockWidget* dockWidgetPointer1 = new QDockWidget("浮动窗口",this);
this->addDockWidget(Qt::BottomDockWidgetArea,dockWidgetPointer1);
dockWidgetPointer1->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
//创建中心部件,只能有一个
QTextEdit* textEditPointer = new QTextEdit(this);
setCentralWidget(textEditPointer);
}
MainWindow::~MainWindow()
{
}
结果如下图所示: