2013-12-17 28 views
1

我想要從函數Sighnup中獲得並將其放入'Users.txt'中並縮短TK代碼的任何提示?我是TK新手,所以任何提示或技巧都會很好!:)哦,這是一個應用程序,我的朋友正在製作,所以我需要它的工作得很好這是〜1/2的代碼,所以我可能會需要更多的幫助。別擔心,這只是我登錄窗口中的一個窗口。我知道有兩個Sighnup函數,但它運行良好,所以我保持這種方式。當我做(ent.get())它將它打印在shell而不是txt上,但它創建了txt文件但不會寫在裏面。如何從tkinter獲取條目並將其打印在txt文檔中?

import tkinter 
def Sighnup(): 
    window2 = tkinter. Tk() 
    def Quit2(): 
     window2.destroy() 
    def Sighnup(): 
     open ('Users.txt','w') 
     (ent.get()) 
     (ent2.get()) 
     (ent3.get()) 
     (ent4.get()) 
     (ent5.get()) 
     window2.destroy() 
    window2.geometry("195x135") 
    window2.title("Sighnup") 
    window2.wm_iconbitmap('favicon.ico') 
    lbl= tkinter.Label(window2, text="First Name:") 
    lbl2= tkinter.Label(window2, text="Last Name:") 
    lbl3= tkinter.Label(window2, text="Email:") 
    lbl4= tkinter.Label(window2, text="Username:") 
    lbl5= tkinter.Label(window2, text="Password:") 
    ent= tkinter.Entry(window2) 
    ent2= tkinter.Entry(window2) 
    ent3= tkinter.Entry(window2) 
    ent4= tkinter.Entry(window2) 
    ent5= tkinter.Entry(window2) 
    btn= tkinter.Button(window2, text="Submit", command=Sighnup) 
    btn2= tkinter.Button(window2, text="Quit", command=Quit2) 
    lbl.grid(row=0, column=0) 
    ent.grid(row=0, column=1) 
    lbl2.grid(row=1, column=0) 
    ent2.grid(row=1, column=1) 
    lbl3.grid(row=2, column=0) 
    ent3.grid(row=2, column=1) 
    lbl4.grid(row=3, column=0) 
    ent4.grid(row=3, column=1) 
    lbl5.grid(row=4, column=0) 
    ent5.grid(row=4, column=1) 
    btn2.grid(row=5, column=1) 
    btn.grid(row=5, column=0) 
    window2.mainloop() 
+0

你需要在一個文件中打印或者你想顯示一個輸入窗口? –

+0

我希望將條目記錄在.txt中,但我找到了答案 – Jordanian

回答

1

只需打開一個文件不會使輸出去那裏,你需要寫它:

fout = open('Users.txt', 'w') 
fout.write(ent.get()) 
... 

或者更好,使用上下文管理

with open('Users.txt', 'w') as fout: 
    fout.write(ent.get()) 

至於建議清理乾淨的東西,我會使用循環來創建小部件和列表來存儲它們。

+1

哇,我覺得自己很愚蠢...... – Jordanian

相關問題