我想扩展 Tkinter.Tcl 的行为。我尝试对它进行子类化,但事实证明 Tcl 是一个返回对象的工厂函数。如果 Tcl 是一个类,我会简单地:
from Tkinter import *
class TclPlus(Tcl): # <- broken
def foo(self, *args, **kwargs):
print "foo"
我可以将 Tk 子类化,并且我的新类将具有 Tcl 工厂函数,但我会回到我开始的地方。此外,Tk 包括所有窗口开销,我不需要。
实现这一目标的最佳方法是什么?
编辑:http ://code.activestate.com/recipes/52295-automatic-delegation-as-an-alternative-to-inherita/这似乎正是我所追求的。注释?