菜单栏的设计QMenu
新建一个QMainWindow
#include "mainwindow.h"
#include<QMenuBar>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置窗口的尺寸
resize(600,400);
//1、菜单栏,只有一个
QMenuBar * bar = menuBar();
//菜单栏设置到窗口中
this->setMenuBar(bar);
//添加菜单
QMenu * fileMenu = bar->addMenu("文件");
QMenu * editMenu = bar->addMenu("编辑");
//添加菜单项
QAction * newAction = fileMenu->addAction("新建");
//添加分割线
fileMenu->addSeparator();
QAction * openAction = fileMenu->addAction("打开");
//菜单项中添加子菜单
QMenu * subMenu = new QMenu;
subMenu->addAction("子菜单1");
subMenu->addAction("子菜单2");
//把子菜单挂到新建里
newAction->setMenu(subMenu);
}
MainWindow::~MainWindow()
{
}
效果展示:

工具栏的设计QToolBar
//2、工具栏 可以多个
QToolBar * toolBar = new QToolBar(this);
//将工具栏设置到窗口中 可以设置在左边
addToolBar(Qt::LeftToolBarArea,toolBar);
//设置只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
//设置浮动
toolBar->setFloatable(false);
//设置移动 不可拖拽
toolBar->setMovable(false);
//添加菜单项
toolBar->addAction(newAction);
//添加分割线
toolBar->addSeparator();
toolBar->addAction(openAction);
效果展示:

状态栏QStatusBar
//3、状态栏 只能一个
QStatusBar * sBar = statusBar();
setStatusBar(sBar);
QLabel * label1 = new QLabel("左侧信息",this);
sBar->addWidget(label1);
QLabel * label2 = new QLabel("右侧信息",this);
sBar->addPermanentWidget(label2);
//插入信息
QLabel * label3 = new QLabel("右侧信息2",this);
sBar->insertWidget(0,label3);
最终效果:

铆接部件QDockWidget

核心部件(中心部件)QTextEdit
//5、核心部件 中心部件 只能有一个
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
效果:

显示图片QIcon
在本地
ui->menu_4->setIcon(QIcon("D:/picture.ico")); //用反斜线或者\\
大项目中使用
导入资源
1、将资源放入到项目下
2、添加资源文件
3、编辑资源文件
3.1 添加前缀
3.2 添加文件
4、使用资源
4.1 语法:":+前缀名+文件名"
step2.


ui->menu_4->setIcon(QIcon(":/Image/picture.ico"));

嘿嘿终于可以直接拖拉了><