重置按钮,删除所有用户输入数据



我的" Clear data " "按钮我创建,因为我是新的Tkinter,如果有人可以帮助我清除用户数据输入,一旦我点击按钮。提前感谢!提前感谢!提前感谢!提前感谢!提前感谢!提前感谢!提前感谢!

global entry
entry = StringVar()
def cleardata():
entry.delete(1.0, END)
def btn1function():
top = tkinter.Toplevel(root)
top.title("ADD RECORDS")
frame = tk.Frame(top)
bg = ImageTk.PhotoImage(file="latestadrec.png")
labl = tk.Label(frame, image=bg)
labl.img = bg
labl.place(relx=0.5, rely=0.5, anchor='center')
fname = tk.Label(frame, text="First Name:", font=('Bold', 16))
fname.place(x=50, y=400)
fnameEntry = tk.Entry(frame, textvariable=firstname, font=('Bold', 16))
fnameEntry.place(x=220, y=400, width=180)
lname = tk.Label(frame, text="Last Name:", font=('Bold', 16))
lname.place(x=50, y=450)
lnameEntry = tk.Entry(frame, textvariable=lastname, font=('Bold', 16))
lnameEntry.place(x=220, y=450, width=180)
address = tk.Label(frame, text="Address:", font=('Bold', 16))
address.place(x=50, y=500)
addressEntry = tk.Entry(frame, textvariable=address1, font=('Bold', 16))
addressEntry.place(x=220, y=500, width=180)
conum = tk.Label(frame, text="Contact Number:", font=('Bold', 16))
conum.place(x=50, y=550)
conumEntry = tk.Entry(frame, textvariable=connum, font=('Bold', 16))
conumEntry.place(x=220, y=550, width=180)
email = tk.Label(frame, text="Email:", font=('Bold', 16))
email.place(x=50, y=600)
emailEntry = tk.Entry(frame, textvariable=email1, font=('Bold', 16))
emailEntry.place(x=220, y=600, width=180)
petname = tk.Label(frame, text="Pet name:", font=('Bold', 16))
petname.place(x=650, y=400)
petnameEntry = tk.Entry(frame,textvariable=pname, font=('Bold', 16))
petnameEntry.place(x=790, y=400, width=180)
gender = tk.Label(frame, text="Gender:", font=('Bold', 16))
gender.place(x=650, y=450)
genderEntry = tk.Entry(frame,textvariable=gender1, font=('Bold', 16))
genderEntry.place(x=790, y=450, width=180)
breed = tk.Label(frame, text="Breed:", font=('Bold', 16))
breed.place(x=650, y=500)
breedEntry = tk.Entry(frame,textvariable=breed1, font=('Bold', 16))
breedEntry.place(x=790, y=500, width=180)
birth = tk.Label(frame, text="Birth Date:", font=('Bold', 16))
birth.place(x=650, y=550)
birthEntry = tk.Entry(frame,textvariable=birth1, font=('Bold', 16))
birthEntry.place(x=790, y=550, width=180)
problem = tk.Label(frame, text="Problem:", font=('Bold', 16))
problem.place(x=650, y=600)
problemEntry = tk.Entry(frame,textvariable=problem1, font=('Bold', 16))
problemEntry.place(x=790, y=600, width=180)
button = tk.Button(frame, text="SUBMIT DATA", command=savefile, font=('Bold', 14))
button.place(x=300, y=700)
button2 = tk.Button(frame, text="CLEAR DATA", command=cleardata, font=('Bold', 14))
button2.place(x=550, y=700)
frame.pack(pady=10)
frame.pack_propagate(False)
frame.configure(width=1000, height=800)

如果要删除文本,则必须使用Entry小部件的delete方法,最好将所有条目放入列表中并遍历它们,而不是一个接一个地执行。

def cleardata():
for ent in ent_list:
ent.delete(0, 'end')
def btn1function():
global ent_list
...
ent_list = [fnameEntry, lnameEntry, ...]

您还可以在主部分(函数外部)中创建列表,然后使用其append()方法将每个条目添加到列表中。第一个解决方案可能是代码更少,可读性更强。

如果您想避免全球化列表,那么将列表作为参数传递:

def cleardata(ent_list):
for ent in ent_list:
ent.delete(0, 'end')
def btn1function():
...
ent_list = [fnameEntry, lnameEntry, ...]

button2 = tk.Button(..., command=lambda: cleardata(ent_list))

最新更新