簡體   English   中英

Python,tkinter彈出窗口錯誤

[英]Python, tkinter Pop up Window Errors

我編寫了一個代碼來模擬ATM接口,但是第二階段似乎有一個錯誤。 步驟1:要求創建/選擇銀行帳戶步驟2:選擇“創建”,將其轉到def 創建帳戶 :這將打開步驟3:輸入帳號:錯誤(使用的變量似乎未定義?)我看不到問題,也許我是盲目的但我看不出是什么原因引起的錯誤。 為什么是我的變量:userAnswer總是回來不確定。

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()

看這行: number = userAnswer.get()

這在createAccount函數中是本地的。 您可以重新構造,將其作為參數傳遞或以其他各種方式傳遞。

另外,您永遠不應有兩個tk.Tk()實例。 因此,您應該進行重組。 如果您確實想要一個新窗口,則可以使用tk.Toplevel

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM