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

4 篇文章 0 订阅

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


学习Qt 的第四天(笑着学


        学习内容:

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


建立一个类型为QMainWindow的窗口

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


         1.建立一个新的day_04.pro项目,Base class 选择QMianWindow,其他默认,取消Generate form(ui)。
在这里插入图片描述




菜单栏

1.包含<QMenuBar>菜单栏头文件
2.包含<QMenu>菜单头文件
3.包含<QAction>动作头文件
4.在项目中添加 CONFIG +=c++11
5.triggered信号表示:点击后触发
6.addSeparator()添加分隔线
1.在项目文件中添加CONFIG +=c++11
在这里插入图片描述
2.在项目源文件中编辑

#include "mainwindow.h"
#include <QMenuBar>   //菜单栏头文件
#include <QMenu>      //菜单头文件
#include <QAction>    //动作头文件

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.包含<QToolBar>工具栏头文件
1.包含<QPushButton>按钮头文件


    //工具栏实际意义就是菜单栏的快捷键
    //添加工具栏
    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 <QStatusBar> //状态栏头文件
2.#include <QLabel> //标签头文件

    //状态栏
    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> //核心控件,文本编辑区头文件

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

实现在窗口中文本编辑
在这里插入图片描述
我们可以在窗口随意输入文本,和txt功能差不多




浮动窗口

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

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

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

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


可以放右边
在这里插入图片描述
也可以放左边
在这里插入图片描述




所有代码

#include "mainwindow.h"
#include <QMenuBar>   //菜单栏头文件
#include <QMenu>      //菜单头文件
#include <QAction>    //动作头文件
#include <QDebug>     //打印头文件
#include <QToolBar>   //工具栏头文件
#include <QPushButton>//按钮头文件
#include <QStatusBar> //状态栏头文件
#include <QLabel>     //标签头文件
#include <QTextEdit>  //核心控件,文本编辑区头文件
#include <QDockWidget>//浮动窗口头文件

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 ^ _ ^

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静诺安然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值