1)编写一个菜单栏 and 工具栏 and 状态栏
2)核心控件(文本编辑区)
3)浮动窗口
注意:新建项目时,Base class选择QMianWindow类型
1.建立一个新的day_04.pro项目,Base class 选择QMianWindow,其他默认,取消Generate form(ui)。
1.包含
2.包含
3.包含
4.在项目中添加 CONFIG +=c++11
5.triggered信号表示:点击后触发
6.addSeparator()添加分隔线
1.在项目文件中添加CONFIG +=c++11
2.在项目源文件中编辑
#include "mainwindow.h"
#include //菜单栏头文件
#include //菜单头文件
#include //动作头文件
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(300,200);
//添加菜单栏
QMenuBar *mBar=menuBar();
//在菜单栏上添加菜单
QMenu *m=mBar->addMenu("文件");//在菜单栏上添加了一个文件的菜单
//在文件菜单上添加子菜单项(添加动作)
//新建一个动作“新建”
//m->addAction("新建");也可以添加子菜单项
QAction *pNew=m->addAction("新建"); //addAction在头文件QAction中,表示新建一个动作(“新建”)
//添加分割线
m->addSeparator();
//新建一个动作“打开”
QAction *pOpen=m->addAction("打开");
}
MainWindow::~MainWindow()
{
}
3.运行窗口会有一个文件菜单选项,菜单选项下会有新建和打开两个子菜单项(新建) (打开),中间存在分隔线
1.包含
1.包含
//工具栏实际意义就是菜单栏的快捷键
//添加工具栏
QToolBar *toolBar=addToolBar("toolBar");
//工具栏添加pNew快捷键
toolBar->addAction(pNew);
//在工具栏添加按钮
QPushButton *b1=new QPushButton(this);
b1->setText("^_^");
//添加小控件
toolBar->addWidget(b1);
//按下按钮变成123
connect(b1,&QPushButton::released,
[=]()
{
b1->setText("123");
}
);
1.#include
2.#include
//状态栏
QStatusBar *sBar=statusBar();
//新建标签(从左往右addWidget),两种方法:
//1:
QLabel *label=new QLabel(this);
label->setText("Normal text file");
sBar->addWidget(label);
//2:
sBar->addWidget(new QLabel("Normal text file",this));
//从右往左添加:
sBar->addPermanentWidget(new QLabel("1",this));
1.#include
//核心控件,文本编辑区
QTextEdit *tEdit=new QTextEdit(this);
setCentralWidget(tEdit);
实现在窗口中文本编辑
我们可以在窗口随意输入文本,和txt功能差不多
1.#include
//浮动窗口
QDockWidget *dWidget=new QDockWidget(this);
addDockWidget(Qt::RightDockWidgetArea,dWidget);//第一个参数位置,第二个参数指这个浮动窗口
//在浮动窗口添加文本编辑区
QTextEdit *tEdit2=new QTextEdit(this);
dWidget->setWidget(tEdit2);
#include "mainwindow.h"
#include //菜单栏头文件
#include //菜单头文件
#include //动作头文件
#include //打印头文件
#include //工具栏头文件
#include //按钮头文件
#include //状态栏头文件
#include //标签头文件
#include //核心控件,文本编辑区头文件
#include //浮动窗口头文件
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(300,200);
//添加菜单栏
QMenuBar *mBar=menuBar();
//在菜单栏上添加菜单
QMenu *m=mBar->addMenu("文件");//在菜单栏上添加了一个文件的菜单
//在文件菜单上添加子菜单项(添加动作)
//新建一个动作“新建”
//m->addAction("新建");也可以添加子菜单项
QAction *pNew=m->addAction("新建"); //addAction在头文件QAction中,表示新建一个动作(“新建”)
//添加分割线
m->addSeparator();
//新建一个动作“打开”
QAction *pOpen=m->addAction("打开");
//工具栏实际意义就是菜单栏的快捷键
//添加工具栏
QToolBar *toolBar=addToolBar("toolBar");
//工具栏添加快捷键
toolBar->addAction(pNew);
//添加按钮
QPushButton *b1=new QPushButton(this);
b1->setText("^_^");
//添加小控件
toolBar->addWidget(b1);
connect(b1,&QPushButton::released,
[=]()
{
b1->setText("123");
}
);
//状态栏
QStatusBar *sBar=statusBar();
//新建标签(从左往右addWidget),两种方法:
//1:
QLabel *label=new QLabel(this);
label->setText("Normal text file");
sBar->addWidget(label);
//2:
sBar->addWidget(new QLabel("Normal text file",this));
//从右往左添加:
sBar->addPermanentWidget(new QLabel("1",this));
//核心控件,文本编辑区
QTextEdit *tEdit=new QTextEdit(this);
setCentralWidget(tEdit);
//浮动窗口
QDockWidget *dWidget=new QDockWidget(this);
addDockWidget(Qt::RightDockWidgetArea,dWidget);//第一个参数位置,第二个参数指这个浮动窗口
//在浮动窗口添加文本编辑区
QTextEdit *tEdit2=new QTextEdit(this);
dWidget->setWidget(tEdit2);
}
MainWindow::~MainWindow()
{
}