登录界面设计和功能实现
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()