Qt使用信号与槽时出现的错误“Incompatible sender/receiver arguments”


在学习使用qt的过程中,没有好好的去了解信号与槽的机制,导致出现了这么一段代码:

connect(timer1, SIGNAL(timeout()), this, SLOT(exeMonitor(QString)));

在编译时没有出现错误,但当触发该信号时输出框显示:

即:矛盾的发送/接收参数。

在仔细了解了信号与槽之后发现,不管是调用系统的还是自定义,信号和槽函数参数类型要一致,由于timeout()是无参数的,exeMonitor(Qstring )包含一个参数类型,所以会报错。改成exeMonitor()并将相应的槽函数修改之后成功运行。

另外,信号与槽函数都不能传参,所以类似exeMonitor(Qstring fileName)这样的函数也是错误的。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM