Tkinter 条目在运行时无法删除
Tkinter entry cant be deleted when in function
当条目是由另一个函数创建时,我很难通过一个函数删除内容。
def recipe_add():
recepty_add_window = Toplevel()
recepty_add_window.geometry("400x400")
name_entry_label=Label(recepty_add_window, text="Name:").grid(row=1,column=0)
name_entry = Entry(recepty_add_window, width = 50, textvariable=name_var).grid(row=1, column=1,padx=5)
b_add = Button(recepty_add_window, text="Add recipe", width=50, command=add_recipe).grid(row=6, columnspan=2, pady=5, padx = 5)
add_recipe里面有name_entry.delete函数
def add_recipe():
name_entry.delete(0,END)
我收到:NameError:名称 'name_entry' 未定义。
我试图使 name_entry 全局化或将 Toplevel 更改为“单个 window 应用程序”,方法是忘记网格的所有内容并将其重新放在那里,但似乎没有任何帮助。谢谢大家的帮助。
您需要在定义全局变量的地方声明全局变量,而不是在使用它的地方声明。还有,.grid()
returnsNone
,所以先要把Entry存入变量,然后调用grid()
:
from tkinter import *
def recipe_add():
global name_entry
name_var = StringVar()
name_entry = Entry(recepty_add_window, width = 50, textvariable=name_var)
name_entry.grid(row=1, column=1,padx=5)
def add_recipe():
name_entry.delete(0,END)
当条目是由另一个函数创建时,我很难通过一个函数删除内容。
def recipe_add():
recepty_add_window = Toplevel()
recepty_add_window.geometry("400x400")
name_entry_label=Label(recepty_add_window, text="Name:").grid(row=1,column=0)
name_entry = Entry(recepty_add_window, width = 50, textvariable=name_var).grid(row=1, column=1,padx=5)
b_add = Button(recepty_add_window, text="Add recipe", width=50, command=add_recipe).grid(row=6, columnspan=2, pady=5, padx = 5)
add_recipe里面有name_entry.delete函数
def add_recipe():
name_entry.delete(0,END)
我收到:NameError:名称 'name_entry' 未定义。
我试图使 name_entry 全局化或将 Toplevel 更改为“单个 window 应用程序”,方法是忘记网格的所有内容并将其重新放在那里,但似乎没有任何帮助。谢谢大家的帮助。
您需要在定义全局变量的地方声明全局变量,而不是在使用它的地方声明。还有,.grid()
returnsNone
,所以先要把Entry存入变量,然后调用grid()
:
from tkinter import *
def recipe_add():
global name_entry
name_var = StringVar()
name_entry = Entry(recepty_add_window, width = 50, textvariable=name_var)
name_entry.grid(row=1, column=1,padx=5)
def add_recipe():
name_entry.delete(0,END)