用python的tkinter撰寫的密碼登錄程式,運行后即使輸入了正確密碼,也顯示為登錄失敗,什么原因,怎么修改?
from tkinter import *
h=Tk()
i=Frame(h)
i.pack(padx=100,pady=10)
v1=StringVar()
v2=StringVar()
v3=StringVar()
Entry(i,textvariable=v2,show="·",width=10,validate="none").grid(row=0,column=2)
a=str(v2.get())
def o():
if a!="23148979ac":
v3.set("登錄失敗")
else :
v3.set("登錄成功")
Label(i,textvariable=v1).grid(row=0,column=0)
Label(i,textvariable=v3).grid(row=1,column=1)
Button(i,text=" 登錄 ",command=o).grid(row=2,column=1)
v1.set("請輸入密碼:")
print(a)
mainloop()
uj5u.com熱心網友回復:
把 a = str(v2.get())這一行放到函式O的第一行即可。把print(a)這一行洗掉。
原因是變數a 在Entry輸入之前去獲取v2值是空的。
而點擊按鈕后呼叫函式O時,里面并沒有再次獲取V2的動作,所以a里面仍然是空的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/228117.html
下一篇:simulink 仿真
