1.BooleanVar() 布爾類型 2.IntVar() 整數類型 3.DoubleVar() 浮點數類型 4.StringVar() 字符串類型 5.self.entry1 = Entry(self,textviable = v1) textviable 實現雙向關聯 6.v1.set("admin") # 設置單行文本的值 7.v1.get() self.entry1.get() 獲取的是單行文本框中的值 8.self.entry_passwd = Entry(self,textvariable = v2,show = "*") textvariable 進行綁定 v2 v2 = StringVar() 用戶輸入后,show 顯示為 * 9.Button(self,text = "登錄",command = self.login).pack() 登錄操作 10.點擊登陸后執行的函數可以與數據庫進行交互,達到驗證的目的 self.組件實例化對象.get() 獲取值
from tkinter import * from tkinter import messagebox class Application(Frame): '''GUI程序經典寫法''' def __init__(self,master = None): super().__init__(master) # super() 表示父類的定義,父類使用 master 參數 self.master = master # 子類定義一個屬性接收傳遞過來的 master 參數 self.pack() # .pack 設置布局管理器 self.createWidget() # 在初始化時,將按鈕也實現 # master傳遞給父類 Frame 使用后,子類中再定義一個 master 對象 def createWidget(self): '''創建組件''' self.lab1 = Label(self,text = "用戶名") self.lab1.pack() # StringVar() 綁定到指定的組件,StringVar 和 v1 一起變化 v1 = StringVar() self.entry_user = Entry(self,textvariable = v1) self.entry_user.pack() v1.set("admin") # 設置單行文本的值 # v1.get() self.entry_user.get() 獲取的是單行文本框中的值 # 創建密碼框 self.lab2 = Label(self,text = "密碼") self.lab2.pack() v2 = StringVar() self.entry_passwd = Entry(self,textvariable = v2,show = "*") self.entry_passwd.pack() Button(self,text = "登錄",command = self.login).pack() def login(self): username = self.entry_user.get() passwd = self.entry_passwd.get() # 數據庫進行操作,查看是否存在該用戶 print("用戶名:" + username) print("密碼:" + passwd) if username == "Hany" and passwd == "123456": messagebox.showinfo("博客園","歡迎使用~") else: messagebox.showinfo("Error","請重新輸入~") if __name__ == '__main__': root = Tk() # 定義主窗口對象 root.geometry("300x300+400+300") # 創建大小 root.title("Button 測試") # 設置標題 app = Application(master = root) # 傳遞 master 參數為 主窗口對象 root.mainloop()
2020-04-20