我正在编写一个函数,它将来自tkinter库的文本框对象作为参数。当我填写文本框并点击按钮时,我得到了
"AttributeError: 'NoneType' object has no attribute 'get'."
我知道textbox对象将get()作为函数。我甚至将tkinter库导入到具有我的功能的文件中。这是我在两个文件中尝试做的简化版本:
主:
import tkinter
import save_file
app = tkinter.Tk()
textbox = tkinter.Text(app).pack()
button = tkinter.Button(app, command=lambda: save_file.save_file(textbox))
SAVE_FILE:
import tkinter
def save_file(textbox):
text = textbox.get()
谁能告诉我我做错了什么?
答案 0 :(得分:3)
pack()
返回None
;你想存储只是 Text()
个对象,然后单独调用pack()
:
textbox = texinter.Text(app)
textbox.pack()
答案 1 :(得分:0)
tkinter.Text(app).pack()
返回None,因此您将textbox
设置为无
更改为:
textbox = tkinter.Text(app)
textbox.pack()
答案 2 :(得分:0)
您的问题是tkinter Text对象上的.pack()方法返回None。
修复:
import tkinter
import save_file
app = tkinter.Tk()
textbox = tkinter.Text(app)
textbox.pack()
button = tkinter.Button(app, command=lambda: save_file.save_file(textbox))