2016-12-07 124 views
0

我做了一個代碼來模擬ATM接口,但是第二階段似乎有一個錯誤。 第一步:請創建/選擇開戶的銀行 第二步:選擇「創建」時,轉到變形點焊創建賬戶:這將打開 第三步:輸入帳號:(?變量中使用似乎是不確定的)錯誤 我沒有看到這個問題,也許我是盲目的,但我沒有看到什麼可能導致錯誤。爲什麼是我的變量:userAnswer總是回來undefined。Python,tkinter彈出窗口錯誤

import tkinter 

x='' 
bankList = ['100','101','102','103','104','105','106','107','108','109'] 



def checkAccount(): 
    number = userAnswer.get() 
    if number == '1':#in bankList: 
     print("That Account already exist, try another number.") 
    else: 
     bankList.append(number) 
     print("Your new account has been created!") 

def createAccount(): 
    window2 = tkinter.Tk() 
    window2.title("Creating an Account!") 
    window2.geometry("400x100") 

    accountLabel = tkinter.Label(window2, text="Please input the 3 digit number for the Account: ") 
    userAnswer = tkinter.Entry(window2) 
    accountButton = tkinter.Button(window2, text="Go", command=checkAccount) 

    accountLabel.pack() 
    userAnswer.pack() 
    accountButton.pack() 


def selectAccount(): 
    print("nope") 


#------------------------- Opening Text Box: Create/Choose Account 
window = tkinter.Tk() 
window.title("ATM - Inovated Online Banking") 
window.geometry("400x100") 

label = tkinter.Label(window, text="Thank you for using online Banking Canada. Howe can we help you?") 
button = tkinter.Button(window, text="Create Account", command=createAccount) 
button2 = tkinter.Button(window, text="Select Account", command=selectAccount) 

label.pack() 
button.pack() 
button2.pack() 

回答

1

看這句話:number = userAnswer.get()

這是本地createAccount功能。您可以重新構建,作爲參數傳遞,或以其他各種方式傳遞。

此外,你不應該有兩個tk.Tk()的實例。所以,你應該重組。如果你真的想要一個新窗口,你可以使用tk.Toplevel