我有一个Phidgets控制器(Stepper类),它允许事件处理程序成为类的方法:
self.setOnAttachHandler(self.StepperAttached)
self.setOnDetachHandler(self.StepperDetached)这些是有用的,因为当步进控制器与PC连接/分离时,它们可以执行任务。
我已经在Python语言的wxFrame中创建了一个Stepper对象,我想知道如何将这些消息发送到wxFrame,这样它就可以,例如,在没有轮询的情况下指示控制器已经被附加/分离。
或者一般而言,我如何在Python中将事件/消息从对象发送到父对象?
谢谢!
发布于 2011-06-01 23:54:31
执行此操作的规范方法是将父对象的引用向下传递给子对象。
from Phidgets.Devices.Stepper import Stepper
class Parent(object):
"Parent Class"
def stepperAttached(self, event):
print 'Connected to device ', event.device.getSerialNum()
def eventHandler (self, event):
print "Event fired!", event.state
class Child(object):
"Child class"
def __init__(self, parent):
self.parent = parent
self.stepper = Stepper()
self.stepper.setOnAttachHandler(self.parent.StepperAttached)
self.stepper.setOnInputChangedHandler(self.parent.eventHandler)
p = Parent()
c = Child(p)
c2 = Child(p)
# etc..希望这能有所帮助。代码可能不太准确,因为我手头没有参考资料,但即使上面的代码略有偏差,原则也是一样的。
https://stackoverflow.com/questions/5629006
复制相似问题