子类化 Tkinter 小部件时如何使用 super()? [英] How to use super() when subclassing Tkinter widgets?

查看:57
本文介绍了子类化 Tkinter 小部件时如何使用 super()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试使用 super() 创建 Tkinter 窗口.我收到此错误:

Trying to create Tkinter window using super(). I get this error:

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

代码:

import Tkinter as tk

class Application(tk.Frame):

    def __init__(self, master):
        super(Application, self).__init__(master)
        self.grid()


def main():
    root = tk.Tk()
    root.geometry('200x150')
    app = Application(root)

    root.mainloop()

main()

推荐答案

Tkinter 使用旧式类.super() 只能用于 新风格的类.

Tkinter uses old-style classes. super() can only be used with new-style classes.

这篇关于子类化 Tkinter 小部件时如何使用 super()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆