0


C++:信号与槽

信号与槽

  • 作用:实现对象间的通信,灵活高效(libevent事件驱动机制)

信号

  • 信号使用signal关键字声明
  • 信号只要像函数那样声明即可,其中可以有参数,参数的主要作用是用于和槽通信
  • 信号是由moc自动生成的
  • 信号的返回值只能是void类型的
  • 发射信号需要使用emit关键字

  • 声明用slots:
  • public slots:在这个区内声明的槽意味着任何对象都可以将信号与之连接
  • protect slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接
  • private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接

槽就是一个普通的函数,可以像普通函数一样进行使用,槽与函数主要的区别就是槽可以和信号关联

ui资源(槽函数)只能在ui线程(主线程)访问

信号与槽的关系:

  • 槽的参数类型需要与信号参数的类型相对应
  • 一个信号可以和多个槽进行关联,发送信号时,槽函数按照关联的顺序依次执行
  • 多个信号也可以与同一个槽关联
  • 信号也可以关联到另一个信号上
标签: 信号

本文转载自: https://blog.csdn.net/qq_45824568/article/details/116305535
版权归原作者 逃离那片云 所有, 如有侵权,请联系我们删除。

“C++:信号与槽”的评论:

还没有评论