2016-09-05 8 views
-1

私はこれがうまくいくかもしれないと考えて入力しましたが、そうではありません。これが正しいのか、それとも変更する必要があるのか​​分かりません。それは動作しませんので、私はそれが変化する必要があると推測しています。 Tkinterのからデータを入力した後、入力フィールドをクリアするコードを次のコードに追加するにはどうすればよいですか?

インポート:

from tkinter import * 
import csv 
def delete_entries(): 
    for field in fields: 
     field.delete(0,END) 

class App(Frame): 
    def __init__(self, master=None): 
     Frame.__init__(self, master) 
     self.pack() 
     self.output() 

出力:

def output(self): 
    Heading=StringVar() 
    Heading.set("Please enter student name below") 
    Label(text='Name:').pack(side=LEFT,padx=5,pady=5) 
    self.n = Entry(root, width=10) 
    self.n.pack(side=LEFT,padx=5,pady=5) 

テキストラベル:

Label(text='Grade:').pack(side=LEFT,padx=5,pady=5) 
    self.e = Entry(root, width=10) 
    self.e.pack(side=LEFT,padx=6,pady=6) 

    self.b = Button(root, text='Submit', command=self.writeToFile) 
    self.b.pack(side=RIGHT,padx=5,pady=5) 

    self.b = Button(root, text='Clear', command=self.writeToFile) 
    self.b.pack(side=RIGHT,padx=5,pady=5) 

ライト級CSVへ:

def writeToFile(self): 
    with open('Grades.csv', 'a') as f: 
     w=csv.writer(f, quoting=csv.QUOTE_ALL) 
     w.writerow([self.n.get()]) 
     w.writerow([self.e.get()]) 

if __name__ == "__main__": 
    root=Tk() 
    root.title('grade') 
    root.geometry('380x280') 
    app=App(master=root) 
    app.mainloop() 
    root.mainloop() 

    Delete_button = Button(root, text = 'Clear', command = delete_entries) 
    Delete_button.pack() 
+0

を提出したコードの末尾にこれを追加することができます。 –

+0

「うまくいきません」が役に立たない。それが機能しないという事実は、あなたのコードを見て、あなたが何をするのか理解することができないことを意味します。何をしようとしていたのですか? –

+0

私はtkinterに成績を入力できるシステムを作成しました.Tkinterはその成績をExcel文書に保存します。私が抱えている問題は、tkinterウィンドウのデータを削除する明確なボタンを作成できることです – Niallm

答えて

0

あなたはあなたのコードのインデントは、さまざまな方法で分割されたエントリ

self.n.delete(0, END) 
self.e.delete(0, END)