如何在Orange3中处理窗口小部件输出的连接事件?

Dmi*_*hov 13 python orange

我正在为Orange3开发一个附加小部件.有没有办法处理小部件输出的连接/断开事件?

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

小智 1

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

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

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


Run Code Online (Sandbox Code Playgroud)