私はクラスウィンドウを持っています。このクラスには、そのウィンドウでクリックされたコントロールのIDを引数に取得するメソッドonClickがあります(動作方法を変更することはできません):
class Window(SoneBaseWindowClass):
def onClick(self,controlID):
print controlID
メソッドをコールバック スタックに追加するデコレータを作成したいと考えています。また、特定のコントロールがクリックされると、メソッド onClick が特定のメソッドを呼び出します。そう:
class Window(SoneBaseWindowClass):
def __init__(self):
callback_stack = {}
def onClick(self,controlId):
callback = self.callback_stack.get(controlID)
if callback is not None:
callback()
# suppose to add decorated method to a callback_stack
def onclick_decorator(method):
pass
そのため、にメソッドを追加するデコレータを作成する必要がありcallback_stack
ます。使用例。
class MyWindow(Window):
@onclick_decorator(12345)
def someMethod(self):
print "Gets called when control with id 12345 clicked"
onclick_decorator
実際問題は、そのメソッドに渡されない Selfからクラスへのアクセスを取得するにはどうすればよいかということです。したがって、クラスにアクセスできると想定できますが、その方法を理解できませんでした。