QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(
menu bar
)、多个工具栏(tool bars
)、多个锚接部件(dock widgets
)、一个状态栏(status bar
)以及一个中心部件(central widget
),是许多应用程序的基础,如文本编辑器,图片编辑器等。
新建项目
菜单栏和工具栏
菜单栏
//mainwindow.cpp
#include "mainwindow.h"
#include <QMenuBar>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置窗口大小
resize(600,400);
//菜单栏 只能最多有一个
//菜单栏创建
QMenuBar *bar = menuBar();
//将菜单栏放入窗口中
setMenuBar(bar);
//创建菜单
bar->addMenu("文件");
}
MainWindow::~MainWindow()
{
}
//创建菜单
QMenu *fileMenu = bar->addMenu("文件");
QMenu *editMenu = bar->addMenu("编辑");
//创建菜单项
fileMenu->addAction("新建");
fileMenu->addAction("打开");
添加分隔符
//QMenu *fileMenu;
fileMenu->addSeparator();
工具栏
工具栏可以有多个
//工具栏 可以有多个
QToolBar *toolBar = new QToolBar(this);
addToolBar(toolBar);
//后期设置只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
状态栏
状态栏只能有一个
//状态栏只能有一个
QStatusBar *stBar = statusBar();
//设置到窗口中
setStatusBar(stBar);
//QStatusBar *stBar = statusBar();
//标签栏控件
QLabel *label = new QLabel("提示信息",this);//调用需引入#include <QLabel>
stBar->addWidget(label); //左边,调用需引入#include <QStatusBar>
//stBar->addPermanentWidget(label); //右边提示信息
铆接部件
//铆接部件(浮动窗口) 可以有多个
QDockWidget *dockWidget = new QDockWidget("浮动",this);//引入#include <QDockWidget>
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置后期停靠区域,允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
核心部件
//设置中心部件 只能一个
QTextEdit *edit = new QTextEdit(this);//引入#include <QTextEdit>
setCentralWidget(edit);