python之GUI可视化Tkinter窗口入门——登录窗口

1.写在前面

最近在写实验,有用到Python自带的GUI库Tkinter,实现了一个简单而实用的登录界面。今天来进行一个简单的分享,包括了Tkinter的基础使用,还涉及到了如何创建按钮、文本框以及如何处理按钮点击事件等方面的内容。希望这个分享能够对和我一样的初学者有所帮助,从而更轻松地实现自己的GUI应用。


2.代码展示

 前期准备,导入我们所需要的包

from tkinter import *
from tkinter import ttk
from tkinter.messagebox import showerror, showinfo

 提前设置好账户名和密码(此处只是为了初学者的方便来在此处进行设置,后续可以将两者设为变量从数据库中读取)

USENAME = 'zhangsan'
PASSWORD = '123'

 设置一个窗口居中方法

class Center: # 窗口居中方法
    @staticmethod
    def show_center(self_tk):
        sw = self_tk.winfo_screenwidth()
        sh = self_tk.winfo_screenheight()
        ww = 600
        wh = 500
        x = (sw - ww) / 2
        y = (sh - wh) / 2
        self_tk.geometry("%dx%d+%d+%d" % (ww, wh, x, y))

 定义登录函数以及判断

def login(): # 设置登录窗口
    login_tk = Tk()
    login_tk.title('用户登录')
    Center.show_center(login_tk)
    login_tk.resizable(False, False)  # 不可调整大小和最大化
    # 字样
    no_label = Label(login_tk, text='账号')
    name_label = Label(login_tk, text='密码')
    no_label.place(relx=0.17, rely=0.3, relwidth=0.2, relheight=0.05)
    name_label.place(relx=0.17, rely=0.47, relwidth=0.2, relheight=0.05)
    username = StringVar()
    password = StringVar()

    # 输入框
    username_input = ttk.Entry(login_tk, textvariable=username, font=('Microsoft yahei', 11))
    password_input = ttk.Entry(login_tk, textvariable=password, font=('_Times New Roman', 11) ,show='●')
    username_input.place(relx=0.25, rely=0.35, relwidth=0.5, relheight=0.05)
    password_input.place(relx=0.25, rely=0.52, relwidth=0.5, relheight=0.05)


    # 判断
    def user():
        username_txt = username.get()
        password_txt = password.get()

        # 账号密码
        if username_txt == USENAME and password_txt == PASSWORD:
            print('登录成功!')
            showinfo(title='提示', message='登录成功')
            login_tk.destroy()
            # class_.Main.main()  ,此处换成你所需要调用的函数即可
        elif len(username_txt) == 0:
            showerror(title='提示', message='请输入账号!')
            login_tk.mainloop()
        elif len(password_txt) == 0:
            showerror(title='提示', message='请输入密码!')
            login_tk.mainloop()
        elif username_txt != USENAME or password_txt != PASSWORD:
            showerror(title='提示', message='请输入正确的账号与密码!')
            login_tk.mainloop()
        else:
            login_tk.quit()
    login_btn = ttk.Button(login_tk, text='登    录', command=lambda: [user()])
    login_btn.place(relx=0.4, rely = 0.72, relwidth = 0.2, relheight = 0.07)

    # 按钮事件
    def btn_bind(self):
        user()

    # 绑定按钮
    login_tk.bind("<Return>", btn_bind)  # 绑定回车键

    login_tk.mainloop()

最后就是简单的调用啦!

if __name__ == '__main__':
    login()

下面进行效果展示:

 知不足而奋进,望山远而力行,希望这篇文章能够对你有所帮助!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值