1. 程式人生 > 實用技巧 >Python20-01_GUI程式設計----登入介面設計和功能實現

Python20-01_GUI程式設計----登入介面設計和功能實現

登入介面設計和功能實現

Entry單行文字框

Entry用來接收一行單行字串控制元件, 如果使用者輸入的長度長於Entry控制元件的長度時, 文字會自動向後滾動, 如果想輸入多行文字, 則需要多行控制元件

 1 # coding:utf-8
 2 from tkinter import *
 3 from tkinter import messagebox
 4 
 5 
 6 class Application(Frame):
 7     """一個經典的GUI程式類寫法"""
 8     def __init__(self, master=None):
 9         super().__init__
(master) # super代表的是父類的定義,而不是父類的物件 10 self.master = master 11 self.pack() 12 self.createWidget() 13 14 def createWidget(self): 15 """建立登入介面元件""" 16 self.label01 = Label(self, text='使用者名稱') 17 self.label01.pack() 18 # StringVar變數繫結到指定元件
19 # StringVar變數的值發生變化,元件內容也發生變化 20 # 元件內容發生變化, 變數的值也發生變化 21 v1 = StringVar() 22 self.entry01 = Entry(self, textvariable=v1) 23 self.entry01.pack() 24 v1.set('admin') 25 # 建立密碼框 26 self.label02 = Label(self, text='密碼') 27 self.label02.pack()
28 v2 = StringVar() 29 self.entry02 = Entry(self, textvariable=v2, show='*') 30 self.entry02.pack() 31 self.btn01 = Button(self, text='登入', command=self.login) 32 self.btn01.pack() 33 34 35 36 def login(self): 37 username = self.entry01.get() 38 pwd = self.entry02.get() 39 if username == 'Liran' and pwd == '1314520': 40 messagebox.showinfo('命名系統', '登入成功!') 41 else: 42 messagebox.showinfo('命名系統', '登入失敗') 43 44 45 if __name__ == "__main__": 46 root = Tk() 47 root.geometry("400x450+200+300") 48 root.title('測試') 49 app = Application(master=root) 50 root.mainloop()