深入浅出信号与槽

来源:互联网 发布:tomcat9启动 源码解析 编辑:程序博客网 时间:2024/05/29 16:41

Qt中信号(SIGNAL)的本质

  • 信号只是一个特殊的成员函数声明
    • 函数的返回值是void类型
    • 函数只能声明不能定义
  • 信号必须使用signals关键字进行声明
    • 函数的访问属性自动被设置为protected
    • 只能通过emit关键字调用函数(发射信号)

这里写图片描述

这里写图片描述

不可忽视的军规

  • Qt类只能在头文件中声明
  • 信号与槽的原型应该完全相同

  • 槽函数的返回值必须是void类型

  • 槽函数可以像普通成员函数一样被调用
  • 信号与槽的访问属性对于connect/disconnect无效

小结

  • 信号只是一个特殊的成员函数声明
  • 信号必须使用signals关键字进行声明
  • 信号与槽可以存在多种对应关系