QT connect出现重复调用现象(执行两次SLOT函数)
QT在设置信号与槽的时候出现执行两次槽函数
修改方法:
将 connect(ui.messageButton,SIGNAL(pressed()),this,SLOT(on_messageButton_clicked()));
更改为:
connect(ui.messageButton,SIGNAL(pressed()),this,SLOT(on_messageButton_clicked()),Qt::UniqueConnection);
原理:
Qt信号槽给出了五种连接方式
发出信号,调用槽的方式也可以简单的分为两种:同步调用和异步调用
同步调用:发出信号后,当前线程等待槽函数执行完毕后才继续执行。
异步调用:发出信号后,立即执行剩下逻辑,不关心槽函数什么时候执行。
所以有下表:
————————————————
版权声明:本文为CSDN博主「tony2278」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mangobar/article/details/78078616