I study some codes of a tutorial about tkinter (https://github.com/daleathan/widget-tour-py3) and can't figure out how it works.
Below is the codes from its two major files: ---------------------------- # file infrastructure.py ... ... class callit: def __init__(self, function, *args ): self.f = function self.args = args def __call__(self, *ignored): self.f(*self.args) ... ------------------------ # file widget.py ... from infrastructure import * ... class DemoMainWindow(Frame): ... def _fill_textarea(self): ... # bind events self.text.tag_bind(tag, '<Any-Enter>', callit(self.demoenter_callback, tag) ) ... def demoenter_callback(self, tag): ... self.text.configure(cursor='hand2') ... ---------------------- My question is that the object which was left by callit(self.demoenter_callback, tag) is a callit instance, and the method it calls is a DemoMainWindow's method. How it is possible? Best Regards, Jach Fong -- https://mail.python.org/mailman/listinfo/python-list