我在完成一个程序时遇到了麻烦,我需要一些帮助。我必须清除Entry文本区域,以便在单击“保存”按钮时从头开始重新输入。此外,如果可以帮助我将一种方式显示Entry文本数据到窗口显示中,那将是很好的,但是现在,我主要需要弄清楚如何清除输入文本区域。 这是当前的程序,它看起来很糟糕,但它的工作原理。 此外,是否可以创建一个函数定义,以便在脚本完成后使窗口清晰?谢谢
from tkinter import *
#this function will save the data from tkinter to .txt file.
def save_data():
fileD = open("names.txt", "a")
fileD.write("Name_List:\n")
fileD.write("%s\n" % name.get())
#this section will create GUI widget window containing lable, Entry and buttons here.
app = Tk()
app.title('Name Library')
Label(app, text = "Please Enter Name Here:", fg="black").pack()
name = Entry(app)
name.pack()
Label(app, text="New Name will Display Here if Name Changed: ", fg="gold").pack()
Button(app, text = "Save", fg="red", command = save_data).pack()
app.configure(background="green")
app.mainloop()
答案 0 :(得分:2)
要清除您的输入,请使用.delete(0, END)
name = Entry(root)
name.delete(0, END) # clear the entry field
对于条目小部件,第一个字符从0
开始。您可以使用'end'
或END
删除条目小部件的最后一个字符,也可以使用设置值。
请查看此guide以了解您的tkinter neeeds。
示例代码:
import tkinter as tk
import os
def save_data():
text = name.get().strip()
if text: # checks for empty entries
f = open('names.txt', 'a')
f.write(text + '\n')
f.close()
name.delete(0, tk.END)
# Checks if the file exists
# if not then create it and
# write the header 'Name List'
if not os.path.exists('names.txt'):
f = open('names.txt', 'w')
f.write('Name_List:\n')
f.close()
root = tk.Tk()
tk.Label(root, text = "Please Enter Name Here:").pack()
name = tk.Entry(root)
name.pack()
tk.Button(root, text = 'Save', command = save_data).pack()
root.mainloop()