返回列表 發帖

圖形介面 (七) - 身分驗證

本帖最後由 tonyh 於 2023-7-20 17:05 編輯



   

方法一:使用動態文字變數
  1. import tkinter as tk
  2. import tkinter.messagebox as tmbox

  3. def check():
  4.     if name.get()=="Tony" and pw.get()=="456789":
  5.         tmbox.showinfo(title="驗證結果",message="您好,{}!".format(name.get()))
  6.     else:
  7.         tmbox.showerror(title="驗證結果",message="驗證失敗!")
  8.         
  9. def clear():
  10.     name.set("")
  11.     pw.set("")

  12. win=tk.Tk()
  13. win.title("身份驗證")
  14. win.resizable(0,0)

  15. name=tk.StringVar()
  16. pw=tk.StringVar()

  17. fm=tk.Frame(win)
  18. lb=tk.Label(fm, text="來訪者:",width=7, anchor="e").pack(side="left")
  19. et=tk.Entry(fm, textvariable=name).pack(side="left", padx=10, pady=10)
  20. fm.pack()

  21. fm=tk.Frame(win)
  22. lb=tk.Label(fm, text="密碼:", width=7, anchor="e").pack(side="left")
  23. et=tk.Entry(fm, textvariable=pw, show="*").pack(side="left", padx=10)
  24. fm.pack()

  25. fm=tk.Frame(win)
  26. btn=tk.Button(fm, text="確定", width=12, bg="#CCEEFF", command=check).pack(side="left", padx=5, pady=20)
  27. btn=tk.Button(fm, text="清除", width=12, bg="#CCEEFF", command=clear).pack(side="left", padx=5, pady=20)
  28. fm.pack()

  29. win.mainloop()
複製代碼
屬性                說明
-----------------------------------------------------
textvariable    設定動態文字變數
command       設定使用者觸發事件時要執行的函式

方法二:使用 get()、delete()、insert()
  1. import tkinter as tk
  2. import tkinter.messagebox as tmbox

  3. def check():
  4.     if et1.get()=="Tony" and et2.get()=="456789":
  5.         tmbox.showinfo(title="驗證結果",message="您好,{}!".format(et1.get()))
  6.     else:
  7.         tmbox.showerror(title="驗證結果",message="驗證失敗!")

  8. def clear():
  9.     et1.delete(0, tk.END)
  10.     et2.delete(0, tk.END)
  11.     #et1.insert(0, "hello")

  12. win=tk.Tk()
  13. win.title("身份驗證")
  14. win.resizable(0,0)

  15. fm=tk.Frame(win)
  16. lb=tk.Label(fm, text="來訪者:",width=7, anchor="e").pack(side="left")
  17. et1=tk.Entry(fm)
  18. et1.pack(side="left", padx=10, pady=10)
  19. fm.pack()

  20. fm=tk.Frame(win)
  21. lb=tk.Label(fm, text="密碼:", width=7, anchor="e").pack(side="left")
  22. et2=tk.Entry(fm, show="*")
  23. et2.pack(side="left", padx=10)
  24. fm.pack()

  25. fm=tk.Frame(win)
  26. btn=tk.Button(fm, text="確定", width=12, bg="#CCEEFF", command=check).pack(side="left", padx=5, pady=20)
  27. btn=tk.Button(fm, text="清除", width=12, bg="#CCEEFF", command=clear).pack(side="left", padx=5, pady=20)
  28. fm.pack()

  29. win.mainloop()
複製代碼
函式                        說明
------------------------------------
get()                      取得屬性值
delete(first,last)      刪除屬性值
insert(index,string)  插入屬性值

返回列表