Qt Learning Tour - QMainWindow

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

insert image description here
insert image description here

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()
{
    
    

}

insert image description here

//创建菜单
QMenu *fileMenu = bar->addMenu("文件");
QMenu *editMenu = bar->addMenu("编辑");

//创建菜单项
fileMenu->addAction("新建");
fileMenu->addAction("打开");

insert image description here

add separator

//QMenu *fileMenu;
fileMenu->addSeparator();

toolbar

Toolbars can have multiple

//工具栏  可以有多个
QToolBar *toolBar = new QToolBar(this);
addToolBar(toolBar);

insert image description here

//后期设置只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);

Status Bar

The status bar can only have one

//状态栏只能有一个
QStatusBar *stBar = statusBar();
//设置到窗口中
setStatusBar(stBar);

insert image description here

//QStatusBar *stBar = statusBar();
//标签栏控件
QLabel *label = new QLabel("提示信息",this);//调用需引入#include <QLabel>
stBar->addWidget(label); //左边,调用需引入#include <QStatusBar>
//stBar->addPermanentWidget(label); //右边提示信息

insert image description here

Riveted parts

//铆接部件(浮动窗口) 可以有多个
QDockWidget *dockWidget = new QDockWidget("浮动",this);//引入#include <QDockWidget>
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置后期停靠区域,允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);

insert image description here

Core components

//设置中心部件 只能一个
QTextEdit *edit = new QTextEdit(this);//引入#include <QTextEdit>
setCentralWidget(edit);

Guess you like

Origin blog.csdn.net/yasinawolaopo/article/details/131084986