Article directory
QMainWindow is a class that provides users with the main window program, including a menu bar (
menu bar
), multiple toolbars (tool bars
), multiple anchor components (dock widgets
), a status bar (status bar
) and a central component (central widget
), which are many applications Basics, such as text editors, image editors, etc.
New Project
Menu Bar and Toolbar
Menu Bar
//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("打开");
add separator
//QMenu *fileMenu;
fileMenu->addSeparator();
toolbar
Toolbars can have multiple
//工具栏 可以有多个
QToolBar *toolBar = new QToolBar(this);
addToolBar(toolBar);
//后期设置只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
Status Bar
The status bar can only have one
//状态栏只能有一个
QStatusBar *stBar = statusBar();
//设置到窗口中
setStatusBar(stBar);
//QStatusBar *stBar = statusBar();
//标签栏控件
QLabel *label = new QLabel("提示信息",this);//调用需引入#include <QLabel>
stBar->addWidget(label); //左边,调用需引入#include <QStatusBar>
//stBar->addPermanentWidget(label); //右边提示信息
Riveted parts
//铆接部件(浮动窗口) 可以有多个
QDockWidget *dockWidget = new QDockWidget("浮动",this);//引入#include <QDockWidget>
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置后期停靠区域,允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
Core components
//设置中心部件 只能一个
QTextEdit *edit = new QTextEdit(this);//引入#include <QTextEdit>
setCentralWidget(edit);