#使用面向对象的方式实现GUI程序
from tkinter import *
from tkinter import messagebox
#继承Frame的GUI类
class Application(Frame):
#定义构造函数,也称为构造器,构造我们的组件对象Application,并设置其父窗口为None
def __init__(self,master=None):
#调用Frame的初始化方法,并传入master参数
super().__init__(master)
self.master = master
self.pack() #self本身就是一个组件,so调用pack方法来实现
self.createWidget() #调用createWidget方法
#创建其他组件,再在init方法中调用
def createWidget(self):
self.leber01 = Label(self, text='用户名')
self.leber01.pack()
#StringVar变量绑定到指定组件,使得StringVar发生变化时,组件也随之变化
v1 = StringVar()
self.entry01 = Entry(self, textvariable=v1)
self.entry01.pack()
v1.set('admin')
print(v1.get())
print(self.entry01.get())
#创建密码框
self.leber02 = Label(self, text='密码')
self.leber02.pack()
v2 = StringVar()
self.entry02 = Entry(self, textvariable=v2, show='*')
self.entry02.pack()
Button(self,text='登录',command=self.login).pack()
def login(self):
name = self.entry01.get()
psd = self.entry02.get()
#进行数据库校验
print("用户名:"+name)
print("密码:"+psd)
if name == "admin" and psd == "121":
messagebox.showinfo("学生信息管理系统","登录成功")
else:
messagebox.showinfo("学生信息管理系统", "登录失败")
#创建主窗口
if __name__ =='__main__':
root = Tk()
root.geometry("400x300+200+300")
root.title("GUI页面")
#创建一个对象,传一个master设值为root的参数,即它的父窗口为root
app = Application(master=root)
root.mainloop()
Python之Entry、StringVar实现登录
于 2022-12-22 09:25:28 首次发布