Python에서 바인딩되지 않은 메서드를 호출하지 않고 바인딩하는 방법이 있습니까?
저는 wxPython 프로그램을 작성 중이며 특정 클래스의 경우 모든 버튼의 데이터를 클래스 수준의 튜플 목록으로 함께 그룹화하는 것이 좋습니다.
class MyWidget(wx.Window):
buttons = [("OK", OnOK),
("Cancel", OnCancel)]
# ...
def Setup(self):
for text, handler in MyWidget.buttons:
# This following line is the problem line.
b = wx.Button(parent, label=text).Bind(wx.EVT_BUTTON, handler)
문제는의 모든 값 handler
이 바인딩되지 않은 메서드이기 때문에 내 프로그램이 눈부시게 폭발하고 눈물을 흘린다는 것입니다.
저는 온라인에서 비교적 간단하고 해결 가능한 문제에 대한 해결책을 찾고있었습니다. 불행히도 나는 아무것도 찾을 수 없었다. 지금 functools.partial
은이 문제를 해결하기 위해 사용 하고 있지만 바인딩되지 않은 메서드를 인스턴스에 바인딩하고 호출하지 않고 계속 전달하는 깔끔하고 건강한 Python 방식이 있는지 아는 사람이 있습니까?