1 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
你犯了一個(gè)很常見的錯(cuò)誤。你的函數(shù)在你的程序執(zhí)行時(shí)執(zhí)行,因?yàn)槟阍谀愕?bind().
解決此問題的一種方法是添加一個(gè)lambda.
代碼:
def nameValidation(name, event = None):
if PresenceCheck(name) and LengthCheck(name,2) and DataTypeCheck(name,str):
print("Valid Name")
else:
nameEntry.configure(bg="red")
nameEntry = tk.Entry(root,textvariable=nameInput,bg="white",font=("Arial",28))
nameEntry.grid(row=2,column=2)
nameEntry.bind("<FocusOut>", lambda: nameValidation(nameInput.get()))
希望這可以幫助!
如評(píng)論中所述,lambda: event如果您想要匿名函數(shù),請(qǐng)使用。如果您遇到錯(cuò)誤,請(qǐng)使用lambda _:
添加回答
舉報(bào)