Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^

本人是菜鸟,这里记录的每天的学习内容


学习Qt 的第四天(笑着学


        学习内容:

                                    1)编写一个菜单栏 and 工具栏 and 状态栏
                                    2)核心控件(文本编辑区)
                                    3)浮动窗口


建立一个类型为QMainWindow的窗口

注意:新建项目时,Base class选择QMianWindow类型


         1.建立一个新的day_04.pro项目,Base class 选择QMianWindow,其他默认,取消Generate form(ui)。
Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第1张图片




菜单栏

1.包含菜单栏头文件
2.包含菜单头文件
3.包含动作头文件
4.在项目中添加 CONFIG +=c++11
5.triggered信号表示:点击后触发
6.addSeparator()添加分隔线
1.在项目文件中添加CONFIG +=c++11
Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第2张图片
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.运行窗口会有一个文件菜单选项,菜单选项下会有新建和打开两个子菜单项(新建) (打开),中间存在分隔线
Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第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");
    }
    );

Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第4张图片




状态栏

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));

Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第5张图片




核心控件(文本编辑区)

1.#include //核心控件,文本编辑区头文件

    //核心控件,文本编辑区
    QTextEdit *tEdit=new QTextEdit(this);
    setCentralWidget(tEdit);

实现在窗口中文本编辑
Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第6张图片
我们可以在窗口随意输入文本,和txt功能差不多




浮动窗口

1.#include //浮动窗口头文件

    //浮动窗口
    QDockWidget *dWidget=new QDockWidget(this);
    addDockWidget(Qt::RightDockWidgetArea,dWidget);//第一个参数位置,第二个参数指这个浮动窗口

    //在浮动窗口添加文本编辑区
    QTextEdit *tEdit2=new QTextEdit(this);
    dWidget->setWidget(tEdit2);

在窗口实现窗口随意放置(浮动)


可以放右边
Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第7张图片
也可以放左边
Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^_第8张图片




所有代码

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

到此结束了

If you insist, you will succeed ^ _ ^

你可能感兴趣的:(Qt,C++,qt,学习,开发语言)