快乐冲浪与生活

多体验、多体会、多体悟

0%

信号与槽

  • 信号(Signal):对象在状态发生变化时主动发出的通知,本身不包含业务逻辑。
    • 由 Qt 内置控件预先定义(clicked / textChanged / valueChanged),或者自定义信号
    • 信号可以携带参数,用于把数据传递给接收方
  • 槽(Slot):普通可调用函数(方法),用来响应信号;信号触发时,槽函数被执行。
    • 可以是类成员方法、普通函数、lambda
    • 槽的参数数量 ≤ 信号参数数量;多余参数可以设置默认值

核心优势:解耦。发送方只负责发信号,不需要知道谁接收;接收方只负责处理,不需要持有发送方强依赖。 底层:属于发布订阅模型。