Qt学习笔记(第二天)^_^

4 篇文章 0 订阅

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


学习Qt的第二天(smile)


     学习内容:

                   1. 新建按钮
                   2. 指定父对象
                   3. 设定按钮标题(命名)
                   4. 设定按钮坐标
                   5. 利用按钮关闭窗口(这里会用到信号与槽)
                   6. 利用按钮隐藏另一个按钮(这里会用到信号与槽)
                   6. 一定要掌握信号与槽


一、新建按钮命名 并指定父对象(显示在同一窗口上)

         1.QPushButton 按钮头文件
         2.在头文件中 ,添加私有成员QPushButton b1和b2两个按钮对象
         3.QPushButton按钮需要指定父对象,在父对象窗口上显示按钮
         注意:这里我们在widget.cpp中做,因为main会调用widget构造函数

widget.h中

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

//按钮头文件
#include <QPushButton>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

//添加私有成员 按钮b1和b2    
private:
    QPushButton b1;//按钮b1
    QPushButton b2;//按钮b2
};
#endif // WIDGET_H

widget.cpp中

#include "widget.h"

//按钮头文件
#include <QPushButton>

Widget::Widget(QWidget *parent)//widget构造函数
    : QWidget(parent)
{
    b1.setParent(this);//this指向的是父类的对象w
    b1.setText("我的第一个按钮");//设置按钮的标题
    b1.show();
}

Widget::~Widget()
{
}

在这里插入图片描述
这里我们可以看到运行之后可以显示出hello world窗口和一个按钮


二、设定按钮坐标

         1.move(x,y)
         2.在Qt中用x和y表示像素坐标
         3.x表示表示横坐标,y表示纵坐标


widget.cpp中

#include "widget.h"

#include <QPushButton>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    b1.setParent(this);
    b1.setText("我的第一个按钮");
    b1.move(100,100);//指定按钮坐标
    b1.show();
}

Widget::~Widget()
{
}

运行后b1按钮就改变了位置:
在这里插入图片描述

三、利用按钮关闭窗口

         1.利用b1按钮关闭当前主窗口
         2.了解信号
         3.了解解槽

widget.cpp中

#include "widget.h"
#include <QPushButton>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    b1.setParent(this);
    b1.setText("我的第一个按钮");
    b1.move(100,100);

    /* &b1:信号发送者(指针类型)
       &QPushButton::pressed :信号(信号处理者)  格式:&发送者的类名::信号名
       this:信号接收者(this表示主窗口)
       &MianWidget::close :槽(信号处理函数)     格式:&接受者的类名::槽函数名
    */
    connect(&b1,&QPushButton::pressed,this,&Widget::close);
    b1.show();
}
Widget::~Widget()
{
}

运行程序,按下按钮
在这里插入图片描述
此时我们可调出底部的应用程序输出框,我们可以发现程序窗口已经退出了
在这里插入图片描述

总结:

      1.&b1表示信号的发送者,&QPushButton表示发送者的类名,pressed表示信号名(鼠标按下时触发)
      2.this表示信号的接受者(即主窗口),&Widget表示接受者的类名,close表示槽函数(close起关闭作用)


四、利用按钮隐藏另一个按钮

         1.建立2个按钮,一个用刚刚的b1按钮,还有一个私有成员中已经定义生成的b2按钮
         1.利用b2按钮 按下松开时(released)信号,b1按钮使用槽函数(hide)隐藏

widget.cpp中

#include "widget.h"
#include <QPushButton>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    b1.setParent(this);
    b1.setText("我的第一个按钮");
    b1.move(100,100);
    connect(&b1,&QPushButton::pressed,this,&Widget::close);

    b2.setParent(this);//每个按钮都需要指定父对象
    b2.setText("隐藏");//设置b2按钮标题
    /*&b2:信号发送者
    &QPushButton::released :信号(信号处理者)  格式:&发送者的类名::信号名
    &b1:信号接收者
    &QPushButton::hide :槽(信号处理函数)     格式:&接受者的类名::槽函数名
    */
    connect(&b2,&QPushButton::released,&b1,&QPushButton::hide);
}
Widget::~Widget()
{
}

运行可以得到两个按钮:
在这里插入图片描述
点击隐藏按钮后,我的第一个按钮会被隐藏掉:
在这里插入图片描述

总结:

      1.&b2表示信号的发送者,&QPushButton表示发送者的类名,released表示信号名(鼠标松开时触发)
      2.&b1表示信号的接受者,&QPushButton表示接受者的类名,hide表示槽函数(hide起隐藏作用)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

静诺安然

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

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

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

打赏作者

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

抵扣说明:

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

余额充值