Lamda表达式定义函数语法: 可访问外部变量->返回值{ 函数体 }
变量名1,变量2...{} 指定部分变量访问 ={} 值传递形式捕获所有外部变量 (内部无法改变实际变量) &{} 引用形式捕获所有外部变量 (可以改变实际变量)
nt num = 1;
void (*pFun)(int&) = [](int& n)->void{
n = 250;
qDebug() << n;
};
pFun(num);
qDebug() << num ;
QT内置的大量信号和槽 还支持用户自定义信号 和 槽。标签:Lamda,变量,自定义,参数表,void,信号,表达式,函数 From: https://blog.51cto.com/u_15515702/5787282
自定义槽:
1.有函数声明且有实现
2.返回值类型为 void
3.槽函数 可以带参 可以重载 (槽函数实参 是从信号而来)
自定义信号:
1.写在 Signal: 下
2.只需声明 无需实现
3.返回值为 void
4.支持带参 且可重载
5.emit 可触发信号
自定义信号和槽的特点:
1. 一个信号 可以被 多个槽绑定
2. 同一个槽函数 可以绑 多个信号
3. 信号 和 槽的 函数参数表 需一 一对应
4. 信号的参数表 可以 多余 槽函数的参数表
反之 槽函数的参数表 不能多余 信号的参数表
5.信号 可以 绑定信号
//信号和槽 断开连接
disconnect 断开连接
connect 连接