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

Phi*_*Fry 2 python tkinter nonetype

我遇到过这个问题,我无法理解为什么.

我从我的应用程序中获取了我的代码,并制作了这个测试代码,这样你就不必经历一堆垃圾,看看我在问什么.

我有其他代码工作.但经过比较两者,我不能为我的生活弄清楚这一点.

在这个应用程序中,我得到错误"AttributeError:'NoneType'对象没有属性'删除'".

import Tkinter as tk

def main():
    mainWindow = tk.Tk()
    v = tk.StringVar()
    entryBox = tk.Entry(mainWindow, textvariable=v).grid(column=0, row=1)
    def test():
        entryBox.delete(0,20)
    testButton = tk.Button(mainWindow, text='Go!', command=test, padx=10).grid(row=2, column=0) 
    tk.mainloop()
main()
Run Code Online (Sandbox Code Playgroud)

Tom*_*ack 6

在这一行:

entryBox = tk.Entry(mainWindow, textvariable=v).grid(column=0, row=1)
Run Code Online (Sandbox Code Playgroud)

grid不返回任何东西,所以entryBox是None,没有delete方法.您必须设置entryBoxtk.Entry(mainWindow, textvariable=v)然后调用该grid方法entryBox