我想问一个关于使用 Canvas 作为容器的聪明问题,但是在编写示例代码时我偶然发现了一些奇怪的东西。这是到目前为止的代码:
import Tkinter as tk
class CCanvas(tk.Canvas):
def __init__(self,master,*args,**kwargs):
super(CCanvas,self).__init__(master=master,*args,**kwargs)
if __name__ == '__main__':
root= tk.Tk()
cc = CCanvas(root)
cc.pack()
root.mainloop()
现在这段代码应该做的不多。CCanvas 类只是继承自 Canvas,没有实现任何东西,只是调用了超类的构造函数。我看不出这不起作用的任何理由。然而,当我运行它时,我收到以下错误:
super(CCanvas,self).__init__(master=master,*args,**kwargs)
TypeError: must be type, not classobj
谁能向我解释这种行为,也许可以告诉我如何解决它?