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