为什么在Python和Tkinter中出现AttributeError:“'NoneType'对象没有'get'属性”?
from tkinter import *
app=Tk()
app.title(" BRAIN SYNCRONIZATION SOFTWARE ")
e1=Entry(app).pack()
t1=Text(app).pack()
def InputFun():
file=open("acad.txt","a")
file.write("%s;%s"%(t1.get("0.1",END),e1.get()))
file.close()
b1=Button(app,text="INPUT",command=InputFun,height=3,width=4).pack(side=LEFT,padx=30,pady=30)
这是我写的代码,但每次我按下输入按钮时,都会出现以下错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python31\lib\tkinter\__init__.py", line 1399, in __call__
return self.func(*args)
File "C:\Users\vonn\Desktop\brain syncronization.py", line 15, in InputFun
file.write("%s"%t1.get("0.1",END))
AttributeError: 'NoneType' object has no attribute 'get'
为什么它不写入文件呢?
2 个回答
0
我觉得 Entry(app).pack()
这个写法不会返回任何东西。你是想说 e1=Entry(app); e1.pack()
吗?
9
t1=Text(app).pack()
应该是
t1=Text(app)
t1.pack()
Tkinter中的pack()
方法会返回None,也就是说你不能在它上面使用.get()
,而是需要让t1
继续指向文本对象本身。