Qt之信号与槽

目录

基本概念 

信号与槽的使用

自定义信号和槽函数

1.通过代码来自定义槽函数

2.通过QtCreator生成信号槽代码

3.自定义信号

4. 带参数的信号与槽

5.意义 

6.信号与槽的断开

7.使⽤ Lambda 表达式定义槽函数 

小结


接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧

基本概念 

1.在 Qt 中,⽤⼾和控件的每次交互过程称为⼀个事件,每个事件都会发出⼀个信号, Qt 中的所有控件都具有接收信号的能⼒,⼀个控件还可以接收多个不同的信号。对于接收到的每个信号,控件都会做出相应的响应动作,在 Qt 中,对信号做出的响应动作就称之为槽。
2.信号的三个要素:
信号源:由哪个控件发出的信号
信号的类型:用户进行不同的操作,就可能触发不同的信号
信号的处理方式:槽,本质是函数, 槽函数可以与⼀个信号关联,当信号被 发射时,关联的槽函数被⾃动执⾏。在Qt中使用connect函数,把一个信号和槽关联起来,后续只要信号触发,Qt就会自动的执行槽函数,槽函数本质就是回调函数
3.信号函数和槽函数通常位于某个类中,和普通的成员函数相⽐,它们的特别之处在于:
  信号函数⽤ signals 关键字修饰,槽函数⽤ public slots、protected slots 或者 private slots 修
  饰。signals 和 slots 是 Qt 在 C++ 的基础上扩展的关键字,专⻔⽤来指明信号函数和槽函数;
4.信号函数只需要声明,不需要定义(实现),⽽槽函数需要定义(实现)
5. 信号函数的定义是 Qt ⾃动在编译程序之前⽣成的. 编写 Qt 应⽤程序的程序猿⽆需关注.
这种⾃动⽣成代码的机制称为 元编程

信号与槽的使用

1.在Qt中一定是先关联信号与槽,然后再触发这个信号,顺序不能颠倒,否则信号就不知道如何处理了

2.connect函数是QObject这个类提供的静态成员函数

3.Qt中提供的类,本身是存在一定的继承关系的,Qt 中提供的很多类都是直接或者间接继承⾃ QObject

4.connect() 函数原型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值