connect函数在QT中作为连接信号和槽的函数,有以下三种写法:
1.使用SIGNAL和SLOT宏(宏函数将信号和槽函数转换为const char *类型的字符串)
connect(ui->pushbutton,SIGNAL(clicked),this,SLOT(onPushButtonClicked()))
2.使用&类名::函数名
connect(ui->pushbutton,&QPushButton::clicked,this,onSetBlockedSignalStatus)
优点:
1.不需要写参数更简便
2.不需要槽函数的参数类型与信号对应的参数类型完全一致,只需要进行隐藏式转换
3.可以在编译时进行检查,比如信号或者槽函数的拼写错误、槽函数参数数量多于信号的参数数量等都能在编译时期发现,而不是运行时。
3.Lambda表达式,关联后直接编写信号发射后要执行的代码,不需要定义槽函数