一、简介
学习 菜单栏 QMenuBar 只能有一个
工具栏 QToolBar 可有有多个
铆接 QDockWidget 浮动窗口 , 可以有多个
状态: QstatusBar 只能有一个
核心: QTextEdit 只能有一个;
二、代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QPushButton>
#include<QStatusBar>
#include<QLabel>
#include<QDockWidget>
#include<QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
resize(800,700);
// 菜单栏设置
QMenuBar * bar=new QMenuBar();
setMenuBar(bar);
// 创建菜单
QMenu * file= bar->addMenu("文件");
QMenu * edit= bar->addMenu("编辑");
// 创建菜单项
QAction * newAction = file->addAction("新建");
// 添加分割线
file->addSeparator();
QAction * openAction = file->addAction("打开");
// 工具栏 可以有多个
QToolBar * toolbar=new QToolBar(this);
addToolBar(Qt::LeftToolBarArea,toolbar);
// 设置停靠的区域
toolbar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
// 设置浮动
toolbar->setFloatable(true);
// 在工具栏中设置工具
toolbar->addAction(newAction);
toolbar->addSeparator(); // 添加分割线
toolbar->addAction(openAction);
// 在工具栏中添加一个PushButton
QPushButton * btn=new QPushButton("test",this);
toolbar->addWidget(btn);
// 状态栏 只能有一个
QStatusBar * statusbar=statusBar();
// 将这个状态栏设置到窗口中
setStatusBar(statusbar);
// 由于 看不清,我们可以在这个状态栏中设置两个label
QLabel * lablel1=new QLabel("提示信息1:",this);
QLabel * lablel2=new QLabel("提示信息2:",this);
statusbar->addWidget(lablel1);
// 将第二个 标签设置到右下角
statusbar->addWidget(lablel2);
statusbar->addPermanentWidget(lablel2);
// 铆接 部件的使用 就是浮动窗口 可以多个
QDockWidget * dock=new QDockWidget("浮动窗口",this);
// 设置浮动窗口的位置
addDockWidget(Qt::TopDockWidgetArea,dock);
// 设置浮动窗口的停靠位置 只能上下
dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
// 浮动窗口是围绕核心窗口来施展的
QTextEdit * tedit=new QTextEdit(this);
setCentralWidget(tedit);
}
MainWindow::~MainWindow()
{
delete ui;
}
三、显示