AttributeError:'NoneType'对象没有属性'get'

时间:2014-10-24 22:12:42

标签: python tkinter attributeerror

我正在编写一个函数,它将来自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()

谁能告诉我我做错了什么?

3 个答案:

答案 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))