发送一次信号槽函数多次响应

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

发布了245 篇原创文章 · 获赞 57 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/qq_16542775/article/details/102874255
今日推荐