Python类在尝试分配变量时返回AttributeError
我在一个非常简单的类中遇到了问题:Python类在尝试分配变量时返回AttributeError,python,class,tkinter,attributeerror,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 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)
类Spinbox(Spinbox):
定义初始(自我,主):
self.var=IntVar()
Spinbox.\uuuu init\uuuu(self,master,textvariable=self.var,
从0到100,命令=交叉)
self.config(width=“4”)
self.bind(“,更新配置)
这两个类之间有什么区别?您必须先调用以下命令来初始化tkinter:
您没有显示的代码肯定还有更多,因为tk
根本没有出现在您的代码中。@BrenBarn标签tkinter
暗示了这一点,但我同意OP应该发布import
语句……如果您在stackoverflow上搜索了确切的错误消息,第一个结果回答了这个问题。是的,代码大约有800行,我试着只发布相关部分。看来替换初始化行效果不错,但它是如何连接到tkinter的?@BryanOakley你是说这个吗?我早就找到了,但不明白如何用这些信息修补代码。嗯,既然你提到了tkinter,我就通过替换初始化行解决了这个问题:str01=LanguageFile(strings[0])
。(它最初放在TkinterGUI之前,但现在我把它放在了下面)。但是我不太明白这和tkinter有什么关系?
from Tkinter import StringVar, Tk
class LanguageFile:
def __init__(self, cont):
Tk()
print(cont)
self.var = StringVar()