信号槽


信号槽

  • 信号的定义必须在 signals 保留字下,并且不需要实现
  • 槽的定义在 slots 保留字下,需要实现
  • 信号和槽通过 QObject::connect 函数连接
  • 当信号被触发 槽函数被调用

  • 信号和槽是QT的扩展 所以实现信号和槽的类必须是 QObject 的子类
  • 实现信号和槽的类 必须以宏 Q_OBJECT 开始
  • 连接信号和槽,要用到 SINGALSLOT 宏 转换函数为字符串
  • 一个信号可以连接多个槽 槽函数调用顺序是不确定的
  • 多个信号可以同时连接一个槽
  • 信号可以连接信号,形成信号传导
  • 信号和槽的参数应该一样多 而且类型必须相同
  • 信号和槽都可以重载
  • 信号和槽都可以有默认参数
  • 槽函数可以像普通函数一样被调用
  • 在槽函数中调用 sender 可以获得信号调用者

总结

一个类 QObject

三个宏 Q_OBJECT SIGNAL SLOT

三个保留字 signals slots emit


文章作者: bySouffle
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 bySouffle !
  目录