gpt4 book ai didi

python - 如何从 lambda 槽中断开信号?

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:53 25 4
gpt4 key购买 nike

假设槽需要一个参数,例如,

    self._nam = QtNetwork.QNetworkAccessManager(self)
# ...
response = self._nam.get(request)
self.timer.timeout.connect(lambda: self.on_reply_finished(response))

信号怎么会从插槽上断开呢?以下给出错误 Failed to disconnect signal timeout().:

    self.timer.timeout.disconnect(lambda: self.on_reply_finished(response))

是因为 lambda 不是“真正的”槽而是 Python 技巧吗?在这种情况下,如何将响应参数传递到槽(不使 response 成为成员)?

谢谢

最佳答案

不,这是因为两个 lambda 不是同一个对象。

您需要将与 connect 方法中使用的 disconnect 方法相同的引用传递给该方法。如果您使用匿名 lambda 函数,则除了在信号上调用 disconnect() (不带参数)之外,无法断开它的连接,但这会断开所有 连接的信号.

关于python - 如何从 lambda 槽中断开信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28627502/

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