在工作中遇到过几次通过connect来连接信号槽,出现一些报错的问题
1.编译出现没有发现槽函数的问题
QObject::connect: No such slot UserLogin::Login_Result(bool result,QString msg) in ..\FAWVW_BlueTest\BlueTest\userlogin.cpp:28
QObject::connect: (receiver name: 'UserLogin')
贴下我的错误的源码
connect(Global::pMesPlatform,SIGNAL(Sign_MesResult(bool ,QString)),this,SLOT(Mes_UpLoadResp(bool result,QString message)));
}
通过帮助文档,可以看到使用SIGNAL,SLOT方式的时候,信号槽函数只要填写参数类型,不能填写参数;所以改成Mes_UpLoadResp(bool ,QString )
总结:使用connect(sender,SIGNAL(),reciver,SLOT())的方式连接信号槽,一般用于重载的信号槽函数,就是说有多个函数名相同但是参数类型不同或者个数不同
如果没有上面的情况,建议使用这种connect方式:
connect(Global::pMesPlatform,&MesPlatform::Sign_MesResult,this,&MainWindow::Mes_UpLoadResp);