python – 给定pyqtBoundSignal如何确定插槽?

给定信号,我如何确定特定信号连接的插槽?

我熟悉如何连接信号和插槽,这更多用于调试目的.

我使用的是pyqt5,python 2.7

最佳答案
没有“插槽”这样的东西,因为信号可以连接多个插槽,或多个其他信号,或多次连接相同的信号/插槽.但无论如何,没有可以列出所有当前连接的内置API.

您可以计算信号的当前连接数,如下所示:

    count = button.receivers(button.clicked)

还有connectNotifydisconnectNotify – 但这不会让你更进一步,因为重新实现这些方法只会告诉你哪些信号已连接或断开连接.

QtTest模块有QSignalSpy(仅在PyQt5中可用),它可以记录给定信号的所有发射.但是,再一次,这只会给你发送的参数,而不是它们被发送到的地方.

我想Qt没有为此提供API的原因是连接项列表可能非常不稳定.

PS:

我忘了提到dumpObjectInfo,这显然是你要求的,但只能使用Qt的调试版本 – 对于发布版本,它什么都不做.

转载注明原文:python – 给定pyqtBoundSignal如何确定插槽? - 代码日志