【Qt】02-信号与槽函数


前言

介绍了QT的信号与槽函数


一、什么是信号与槽(Signals and Slots)?

1.1 信号(Signals)

定义:信号是对象发出的通知,表示某个特定的事件发生了。
例如,当用户点击一个按钮时,按钮对象会发出一个clicked信号。

特点:

  1. 信号是在类中声明的,通常在类的signals部分声明。
  2. 信号的声明类似于普通函数的声明,但不需要实现(即不需要定义函数体)。
  3. 信号的发出是通过emit关键字实现的。例如,emit buttonClicked();。
  4. 信号可以携带参数,这些参数可以传递事件相关的数据。

1.2 槽(Slots)

定义:槽是普通的成员函数,可以被信号触发。当某个信号被发出时,与该信号连接的槽函数会被自动调用。

特点:

  1. 槽函数可以是任何普通的成员函数,也可以是静态函数。
  2. 槽函数的声明和实现与普通成员函数相同。
  3. 槽函数可以被多个信号连接,也可以不被任何信号连接。
  4. 槽函数可以有参数,这些参数必须与连接的信号的参数匹配。

1.3 连接方式

信号和槽之间的连接是通过connect函数实现的。

二、调用基本的信号与槽函数

2.1 代码

其中,不在main函数做任何修改

  • mywidget.cpp
#include "mywidget.h"
#include <QPushButton>

// 构造函数
// 调用基类 QWidget 的构造函数,将 parent 参数传递给它
MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
   
   
    button1.setParent(this);
    button1.setText("colse1");
    button1.move(100,100);

    button2 = new QPushButton(this);        // 指针动态分配空间
    button2->setText("colse2"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值