代码4

"""Label测试"""
# 导入tkinter库,这是一个用于创建图形用户界面(GUI)的Python库
from tkinter import *
# 导入tkinter库中的messagebox模块,用于显示对话框
from tkinter import messagebox


# 定义一个Application类,它继承自tkinter库中的Frame类
class Application(Frame):
    """一个用于创建经典GUI程序的类"""

    # 类的初始化方法
    def __init__(self, master=None):
        # 调用父类的初始化方法,super()代表父类,而不是父类对象
        # 这里是OOP中的多态性的应用,使得我们可以在子类中调用父类的方法
        super().__init__(master)
        self.master = master  # 保存对根窗口的引用
        self.pack()  # 将Frame打包到其父组件(这里是根窗口)
        self.create_widget()  # 调用方法创建GUI组件

    # 定义一个方法来创建GUI的各种组件
    def create_widget(self):
        # 创建
        self.label_01 = Label(self, text="用户名")
        self.label_01.pack()

        # StringVar变量绑定到指定的组件
        # StringVar变量的值发生变化,组件内容也变化
        # 组件内容发生变化,StringVar变量的值也变化
        v1 = StringVar()
        self.entry_01 = Entry(self, textvariable=v1)
        self.entry_01.pack()
        v1.set("admin")  # 设置默认值

        # 创建密码框
        self.label_02 = Label(self, text="密码")
        self.label_02.pack()

        v2 = StringVar()
        self.entry_02 = Entry(self, textvariable=v2, show="*")
        self.entry_02.pack()

        self.btn_01 = Button(self, text="登录", command=self.login)
        self.btn_01.pack()

    def login(self):
        username = self.entry_01.get()
        pwd = self.entry_02.get()

        print("去数据库对比用户名和密码")
        print("用户名: " + username)
        print("密码: " + pwd)
        if username == "admin" and pwd == "123456":
            messagebox.showinfo("尚学堂", "登录成功!开始学习")
        else:
            messagebox.showinfo("尚学堂", "登陆失败!用户名或密码错误!")


# 创建一个Tk窗口实例作为根窗口
root = Tk()
root.geometry("400x100+200+300")  # 设置窗口的大小和位置
root.title("Label测试")  # 设置窗口的标题
app = Application(master=root)  # 创建Application类的实例,并将其与根窗口关联起来
root.mainloop()  # 进入Tkinter事件循环,等待用户的交互操作

posted @ 2024-04-29 14:52  thanksDay  阅读(15)  评论(0)    收藏  举报