为什么在Python和Tkinter中出现AttributeError:“'NoneType'对象没有'get'属性”?

2 投票
2 回答
5619 浏览
提问于 2025-04-16 19:24
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继续指向文本对象本身。

撰写回答