信号与槽
- 作用:实现对象间的通信,灵活高效(libevent事件驱动机制)
信号
- 信号使用signal关键字声明
- 信号只要像函数那样声明即可,其中可以有参数,参数的主要作用是用于和槽通信
- 信号是由moc自动生成的
- 信号的返回值只能是void类型的
- 发射信号需要使用emit关键字
槽
- 声明用slots:
- public slots:在这个区内声明的槽意味着任何对象都可以将信号与之连接
- protect slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接
- private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接
槽就是一个普通的函数,可以像普通函数一样进行使用,槽与函数主要的区别就是槽可以和信号关联
ui资源(槽函数)只能在ui线程(主线程)访问
信号与槽的关系:
- 槽的参数类型需要与信号参数的类型相对应
- 一个信号可以和多个槽进行关联,发送信号时,槽函数按照关联的顺序依次执行
- 多个信号也可以与同一个槽关联
- 信号也可以关联到另一个信号上
本文转载自: https://blog.csdn.net/qq_45824568/article/details/116305535
版权归原作者 逃离那片云 所有, 如有侵权,请联系我们删除。
版权归原作者 逃离那片云 所有, 如有侵权,请联系我们删除。