Qt-信号槽

概念:
在学习Qt的过程中,信号槽是较早学习的重点内容,它就像连接代码与组件的桥梁,实现对象之间的通信。
使用信号槽必须的条件:
●通信的对象必须继承自QObject
●类中要有Q_OBJECT宏
函数原型:
QObkect::connect( 参数1,参数2,参数3,参数4);[static]
参数1:发射者,通信的对象,此对象是信号槽触发的来源
参数2:信号函数,使用SIGNAL()包裹,表示发射者触发的效果
参数3:接收者,通信对象,此对象是执行结果代码的主体
参数4:槽函数,使用SLOT()包裹,表示接收者要执行的函数
静态成员函数connect继承自QObject类,用于连接信号槽之间的因果关系

例:点击按钮,关闭窗口
分析:
参数1,按钮对象;
参数2,点击函数;
参数3,窗口对象;
参数4:关闭函数。
编写代码的文件:
dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QPushButton>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    QPushButton* btn;
};

#endif // DIALOG_H

dialog.cpp

#include "dialog.h"

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    resize(300,300);
    btn = new QPushButton("关闭",this);
    btn->move(100,100);
    connect(btn,SIGNAL(clicked()),this,SLOT(close()));
}

Dialog::~Dialog()
{
    delete btn;
}

编写上述代码后:
运行就出来这个弹窗,点击关闭窗口就会退出。
在这里插入图片描述
信号的使用有三种方式:
●自带信号 → 自带槽
●自带信号 → 自定义槽
●自定义信号 → 槽函数
有时间再写。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值