//Qt4版本信号和槽信号写法(不推荐)
//利用Qt4版本连接有参信号和槽
//优势参数直观
//劣势参数类型不做匹配检测
//connect(tc, SIGNAL(hungry(QString), st, SLOT(treat(QString)));
lamda表达式在Qt中需注意的点:
槽函数采用Qt5之后支持的lambda表达式进行传参,常用=传递值,而不是&,因为当槽和信号连接时,当前控件会进入锁的状态,而=传递是创造新的值覆盖,不会过多影响效率,加上mutable关键字,可以修改按值传递的拷贝
QPushButton* btn = new QPushButton("Test",this);
int i = 10;
//第一次打印的是20
connect(btn, &QPushButton::clicked, this, [=]()mutable{ i = 20; qDebug() << i; });//不加mutable,编译不过
//第一次打印的是10
qDebug << i;