You need to enable JavaScript to run this app. Tkinter Entry调用delete方法报NoneType无该属性错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter Entry调用delete方法报NoneType无该属性错误如何解决

问题原因

Tkinter中所有布局方法(grid()/pack()/place())的返回值都是None,你在创建第二个Entry控件时直接链式调用了grid()方法,相当于把grid()的返回值None赋值给了item_rate1变量,而非Entry实例本身,所以调用delete方法时会抛出NoneType无对应属性的错误。
第一个Entry可以正常运行,是因为你做了两步拆分:先把Entry实例赋值给text变量,再单独调用grid()方法做布局,变量保存的是正确的控件对象。

修复方案

把第二个Entry的创建和布局拆分为两步即可,修改后完整代码如下:

from tkinter import *

window= Tk()
window.geometry("650x250")

def clear_text():
   text.delete(0, END)
   item_rate1.delete(0, END)

rate1 = StringVar()
rate1.set("0")

text= Entry(window, width=40)
text.grid(row=0,column=0)

# 拆分控件创建和布局两步
item_rate1 = Entry(window,textvariable=rate1)
item_rate1.grid(row=1,column=0,sticky="w",ipadx=13,padx=35,)

Button(window,text="Clear", command=clear_text, font=('Helvetica bold',10)).grid(row=10,column=0)

window.mainloop()

注意事项

  • 所有Tkinter控件的创建和布局操作都不要写在同一行做链式调用,否则变量无法拿到正确的控件实例。

内容的提问来源于stack exchange,提问作者Mohd.Imthiyas babu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 17:06:04