QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个铆接部件(dock widgets)、一个状态栏(status bar)、一个中心部件(central widget);
#include "mainwindow.h"
#include <QPushButton>
#include <QMenuBar>
#include <QToolBar>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600,400);
//_____________________________________________________________________
//一个窗口中只能有一个菜单栏,所有用setMenuBar来添加一个菜单栏到窗口中
//创建菜单栏、
QMenuBar * menu_bar = menuBar();
//将菜单栏置入窗口中
setMenuBar(menu_bar);
//创建菜单栏成员
QMenu* menu1 = menu_bar->addMenu("文件");
//添加菜单栏成员的菜单项
menu1->addAction("新建文件");
menu1->addSeparator();
menu1->addAction("打开文件");
QMenu* menu2 = menu_bar->addMenu("编辑");
QMenu* menu3 = menu_bar->addMenu("调试");
//_____________________________________________________________________
//一个窗口可以有多个工具栏,所有用addToolBar
//创建工具栏
QToolBar * toll_bar = new QToolBar(this);
//将工具栏置入窗口内
addToolBar(Qt::LeftToolBarArea,toll_bar);
//添加工具栏成员
toll_bar->addAction("帮助");
toll_bar->addAction("DeBug");
toll_bar->addAction("编辑");
//设置工具栏移动(移动总开关)
toll_bar->setMovable(true);
//设置菜单栏允许出现的区域
toll_bar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
//设置菜单栏是否可以浮动
toll_bar->setFloatable(false);
//_____________________________________________________________________
//一个窗口只能有一个状态栏,所有用setStatusBar
//创建状态栏
QStatusBar * status_bar = new QStatusBar;
//设置状态栏到窗口中
setStatusBar(status_bar);
//创建一个标签
QLabel * label1 = new QLabel("提示信息",this);
//为状态栏置入一个标签成员
status_bar->addWidget(label1);
//_____________________________________________________________________
//一个窗口可以有多个铆接部件,所以用addDockWidget向窗口置入铆接部件
//创建铆接部件
QDockWidget * dockwidget = new QDockWidget;
addDockWidget(Qt::BottomDockWidgetArea,dockwidget);
//_____________________________________________________________________
//中心部件不需要引入#include头文件,系统自带,也不需要创建central
// 创建中心部件
QPushButton * btn = new QPushButton("中国");
setCentralWidget(btn);
}
MainWindow::~MainWindow()
{
}