gpt4 book ai didi

Qt - 清除旧信号

转载 作者:行者123 更新时间:2023-12-04 13:11:32 24 4
gpt4 key购买 nike

假设我有形式 A 可以处理形式 B 发出的信号 x。
当信号 x 发出时,表单 A 会做一些事情。然后我关闭表格 A,重新打开表格 A 并等待信号 x。然而,处理信号 x 的时隙被调用了两次。
我重复关闭和重新打开表单 A。处理信号 x 的插槽称为递增数。

即使收到了旧信号,似乎仍然存在。
有什么方法可以清除旧信号吗?

预先感谢!

最佳答案

当插槽接收到信号时,信号/插槽连接不会消失。没有“发射一次”的概念。因此,您似乎多次连接相同的信号/插槽。请注意,如果您要破坏表单 A,它的所有连接都将自动断开。因此,在连接语句附近放置一个断点并测试发生了什么。或者,您可以使用唯一的连接:

"Qt::UniqueConnection 与 AutoConnection 相同,但只有在不复制现有连接的情况下才会建立连接。即,如果相同的信号已经连接到同一对对象的相同插槽,则连接将失败。这连接类型是在 Qt 4.6 中引入的。”

只需添加 Qt::UniqueConnection 作为连接调用的最后一个参数。

关于Qt - 清除旧信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6745268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com