TypeError: super() argument 1 must be type, not classobj [duplicate] TypeError: super() argument 1 must be type, not classobj [duplicate] tkinter tkinter

TypeError: super() argument 1 must be type, not classobj [duplicate]


Frame is not a new-style class, but super requires new-style classes to work. In python-3.x where everything is a new-style class the super will work properly.

You need to hardcode the superclass and method in python 2:

Frame.__init__(self, master)

Like they do in the official documentation.


TKinter.Frame is an old-style class on Python 2. Features like super won't work with it. Refer to Frame.__init__ directly:

Frame.__init__(self, master)