Qt的信号和槽

初级

在这里插入图片描述

加入我们想通过点击按钮,实现Qt中一个窗口的关闭。那么按钮就是事件的发送者,被点击就是信号,窗口就是事件接受者,被关闭就是需要执行的操作。其中被点击就可以理解为信号函数,关闭就是槽函数。

这个过程可以用伪代码connect(信号的发送者,信号函数,信号的接受者,槽函数)表示

信号和槽函数的优点:松散耦合,也就是说信号的发送端和接收端是没有关联的,他们之间通过connect操作链接在一起。


在这里插入图片描述
在这里插入图片描述
可通过点击按钮,实现关闭窗口的操作。


总结:
连接函数connect(信号的发送者,信号,信号的接受者,处理信号的槽函数)
信号和槽的优点:松散耦合


中级

对于开发者而言,我们也可以自定义信号和槽函数。
自定义信号:需要在signals关键字后去声明,但是不需要实现
自定义槽函数:在public关键字后声明即可,但是必须要需要实现(个人理解:信号函数只需要发出即可。但是槽函数是有具体行为的,所以必须被实现)

自定义信号怎么发出:
emit 自定义信号函数() 的方式,可以发出信号
下面的例子就是,我们可以通过点击按钮,然后触发信号的发生。这时我们发现了,原来信号不仅可以和槽函数连接,也可以和信号连接。然后被连接的信号与某个槽函数连接,这样就实现了各种复杂的功能。

     connect(quitbtn,&QPushButton::clicked,[=]()
     {
         //qDebug()<<"返回按钮被点击";
         //告诉主场景  我返回了  主场景监听chooselevelscene的返回按钮
         emit this->chooseSceneBack();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值