import tkinter
import sys
import re
top = tkinter.Tk()
top.geometry('400x170+350+150')
top.wm_title('綜合實例')
def validateText():
val = entry1.get()
if re.findall('^[0-9a-zA-Z_]{1,}$',str(val)):
return True
else:
label3['text'] = '用戶名只能包含字母、數字、下划線'
return False
def anw_button():
if str.upper(entry1.get()) == "123456" and str.upper(entry2.get()) =='123456':
label3['text'] = '登陸成功'
else:
label3['text'] = '用戶名或密碼錯誤,請重新輸入!'
label1 = tkinter.Label(top,text = '用戶名:',font = ('宋體','18'))
label1.grid(row = 0,column = 0)
label2 = tkinter.Label(top,text = '密碼:',font = ('宋體','18'))#集合為另一種形式的字典
label2 .grid(row = 1 ,column = 0)
v = tkinter.StringVar()
entry1 = tkinter.Entry(top,font = ('宋體','18'),textvariable = v,\
validate = 'focusout',validatecommand = validateText)
entry1.grid(row = 0,column = 1)
entry1.focus_force()
entry2 = tkinter.Entry(top,font = ('宋體','18'),show = '*')
entry2.grid(row = 1,column = 1)
button1 = tkinter.Button(top,text = '登陸',font = ('宋體','18'),\
command = anw_button)
button1.grid(row = 2,column = 0,padx = 50,pady = 10)
button2 = tkinter.Button(top,text = '退出', font = ('宋體','18'),\
command = sys.exit)
button2.grid(row = 2,column = 1,padx = 80,pady = 10)
label3 = tkinter.Label(top,text = '信息提示區',font = ('華文新魏','16'),\
relief = 'ridge',width = 30)
label3.grid(row = 3,column = 0,padx = 10,pady = 10,columnspan = 2,sticky = 's')
top.mainloop()