信号与槽断开连接使用disconnect函数与connect的用法类似。示例按过按钮二后实际开发中disconnect的使用较少大部分情况是把信号和槽连接好后就不再关心。这里用disconnect的场景是主动断开当前信号所连接的槽函数然后信号再重新连接绑定到另一个槽函数上。若不断开则会有两个日志的打印。lambda表达式定义槽函数lambda表达式本质是一个匿名函数主要在回调函数中进行使用。通常是一次性的也可以用auto识别函数类型延长生命周期进行调用。示例ambda除了可以按照传值捕获[button],[]的方式捕获变量还能按照传引用捕获[]的方式捕获变量但Qt中很少用传引用的方式因为在Qt中捕获的变量一般是各种控件的指针指针变量传值或传引用都可以。按引用捕获有致命问题。按引用捕获的变量需要关注其生命周期。例如局部指针变量 button 在构造函数结束时就被销毁可能被置为 nullptr。若 lambda 按引用捕获了 button构造函数结束后 button 已为空。此时用户点击按钮触发 lambda访问空指针会导致程序崩溃。因此按引用捕获风险大。按值捕获会拷贝指针指向的堆地址即使外部指针被置空lambda 内部的拷贝仍然有效。实际开发中建议尽量使用值捕获。