Tkinter新建Toplevel窗口内Entry输入框无法清空的问题如何解决
问题根因
你代码的核心错误出在按钮的command参数绑定环节:
button_add_deal = Button(new_deal_window, text="Add deal", command=add_new_deal())
这里你给add_new_deal加了括号,相当于创建按钮的同时就直接执行了一次清空函数,后续点击按钮不会触发任何动作,所以看起来清空功能失效。
解决方案
把command参数里的括号去掉,只传函数名本身即可,修改为:
button_add_deal = Button(new_deal_window, text="Add deal", command=add_new_deal)
额外优化建议
- 你给
button_new_deal设置禁用状态时,赋值的是列表['disabled'],虽然Tkinter会自动兼容,但规范写法是直接传字符串:button_new_deal['state'] = 'disabled' - 清空Entry的逻辑本身没有问题,
user_input返回的元组里存的都是Entry实例,遍历删除的逻辑是正确的,不存在你猜测的类型转换问题。
内容的提问来源于stack exchange,提问作者GenrihCrown
相关产品推荐
相关产品推荐

