Orange3中widget输出的连接事件如何处理?

How to handle the connection event of widget output in Orange3?

我正在为 Orange3 开发一个附加组件。有什么办法可以处理widget输出connection/disconnection的事件吗?

我想推迟对其中一个输出的繁重计算,直到此输出与另一个小部件的输入连接。

据我所知,源小部件中没有关于它与另一个连接的信号(Orange3 使用 PyQt 的信号和槽)。

但是您始终可以通过将繁重的计算隐藏在惰性属性中或在接收小部件中启动此计算来推迟繁重的计算。

class TargetWidget(OWWidget): 
   @Inputs.obj
   def set_obj(self, obj): 
       # start computation here
       obj.compute()