尝试赋值变量时,Python类返回AttributeError

时间:2015-03-31 17:14:33

标签: python class tkinter attributeerror

我在真正的简单课上遇到了麻烦:

class LanguageFile:
    def __init__(self, cont):
        print(cont)
        self.var = StringVar()
        #(self.var).set(cont)
        #print(self.var)

self.var = StringVar()已经给了我一个很好的错误:

AttributeError: 'NoneType' object has no attribute 'tk'.

我已经尝试了我能想到的一切但到目前为止没有任何效果。让我最困惑的是另一个基本上完全相同的构造工作正常:

class Spinboxes(Spinbox):
    def __init__(self, master):
        self.var = IntVar()
        Spinbox.__init__(self, master, textvariable = self.var,
                         from_ = 0, to = 100, command = crossover)
        self.config(width = "4")
        self.bind("<Return>", update_config)

这两个班级有什么区别?

1 个答案:

答案 0 :(得分:1)

您必须先调用Tk()来初始化tkinter:

from Tkinter import StringVar, Tk

class LanguageFile:
    def __init__(self, cont):
        Tk()
        print(cont)
        self.var = StringVar()