2016-10-09 6 views
0

Tkinter에서 사용자 가져 오기를 가져 와서 csv 파일에 넣는 코드가 있습니다. Tkinter 창에서 입력 상자를 설정하기 위해 팩을 사용할 수는 있지만 그것을 좋아하지 않으며 대신 그리드를 사용하려고합니다. 다음 코드는 pack에서 작동하지만 그리드를 수행하는 방법을 알 수는 없습니다. 죄송합니다. 언어를 사용하는 데 한 달이 걸립니다. 여기에 코드Tkinter에서 사용자의 csv 파일 입력으로 내보내기 허용

from Tkinter import * 
import csv 

class App(Frame): 
    def __init__(self, master=None): 
     Frame.__init__(self, master) 
     self.pack() 
     self.output() 
    def output(self): 
     Label(text='First Name:').pack (side=LEFT,padx=5,pady=5) 
     self.e = Entry(root, width=10) 
     self.e.pack(side=LEFT,padx=5,pady=5) 
     Label(text='Last Name:').pack (side=LEFT,padx=5,pady=5) 
     self.e1 = Entry(root, width=10) 
     self.e1.pack(side=LEFT,padx=5,pady=5) 
     self.b = Button(root, text='Submit',command=self.writeToFile) 
     self.b.pack(side=LEFT,padx=5,pady=5) 
    def writeToFile(self): 
     with open('WorkOrderLog.csv', 'a') as f: 
      w=csv.writer(f, delimiter=',') 
      w.writerow([self.e.get()]) 
      w.writerow([self.e1.get()]) 

if __name__ == "__main__": 
    root=Tk() 
    root.title('Auto Logger') 
    root.geometry('500x200') 
    app=App(master=root) 
    app.mainloop() 
    root.mainloop() 
+0

에서 일부 문서를 읽고 그것을 알아 내려고 시도하는이 문제가 해결하는 가장 좋은 방법입니다. –

답변

0

사용 그리드 테이블을 사용하는 것처럼, 당신은에 "테이블"다음 asign 행/열에서 이런 일을 tkinterObjects을 asign 생각하려고에게 있습니다.

class App(Frame): 
    def __init__(self, master=None): 
     Frame.__init__(self, master) 
     self.pack() 
     self.output() 
    def output(self): 
     firstName=Label(self,text='First Name:') 
     firstName.grid(row=1,column=0, padx=5, pady=3) 
     self.e = Entry(self, width=10) 
     self.e.grid(row=1,column=1, padx=5, pady=3) 
     lastName=Label(self,text='Last Name:') 
     lastName.grid(row=1,column=2, padx=5, pady=3) 
     self.e1 = Entry(self, width=10) 
     self.e1.grid(row=1,column=3, padx=5, pady=3) 
     self.b = Button(self, text='Submit',command=self.writeToFile) 
     self.b.grid(row=1,column=4, padx=5, pady=3) 
    def writeToFile(self): 
     with open('WorkOrderLog.csv', 'a') as f: 
      w=csv.writer(f, delimiter=',') 
      w.writerow([self.e.get()]) 
      w.writerow([self.e1.get()]) 


if __name__ == "__main__": 
    root=Tk() 
    root.title('Auto Logger') 
    root.geometry('500x200') 
    app=App(master=root) 
    app.mainloop() 
    root.mainloop() 

모든

는 "테이블"루트

관련 문제