我的代码目前能够在按下提交按钮后从输入小部件中获取文本,并将该信息复制到CSV文件中。单击提交按钮后,我很难让输入小部件擦除文本框中的文本。除此之外,我还试图在每次提交后让多个条目出现在一起,然而,代码目前会删除以前的文本,并用最新的提交替换它。以下是代码:
from Tkinter import *
import csv
resultsFile= open("Results_Button_List.csv", "w")
namesWriter = csv.writer(resultsFile)
header = ["Notes"]
namesWriter.writerow(header)
class App(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.output()
def output(self):
Label(text='Name:').pack(side=LEFT,padx=5,pady=5)
self.e = Entry(root, width=10)
self.e.pack(side=LEFT,padx=5,pady=5)
self.b = Button(root, text='Submit', command=self.writeToFile)
self.b.pack(side=RIGHT,padx=5,pady=5)
def writeToFile(self):
with open("Results_Button_List.csv", "w") as f:
w=csv.writer(f, quoting=csv.QUOTE_ALL)
w.writerow([self.e.get()])
if __name__ == "__main__":
root=Tk()
root.title('Notes Section')
root.geometry('1000x100')
app=App(master=root)
app.mainloop()
root.mainloop()
要在按下Submit
按钮后将文本框设置为空,请在writeToFile(self)
功能的末尾添加self.e.delete(0, END)
。
要将文本附加到文件,请将文件打开模式设置为"a"(即附加)。因此,进行以下更改:
with open("Results_Button_List.csv", "w") as f:
with open("Results_Button_List.csv", "a") as f: