Tkinter-Entry单行输入组件

Entry

在GUI界面下,有时需要输入一些内容供我们接受,例如在一个登录界面,我们可能需要接受用户输入的账号、密码以及验证码等信息,这个时候可以考虑使用Entry单行输入组件。

Entry组件的常用属性

Entry输入的值需要使用变量进行接受,Tkinter里面有以下四种:StringVar(),BooleanVar(),IntVar()DoubleVar(),分别对应字符串、布尔值、整数和浮点数。
一些常用属性在这里不做介绍,想了解可以看之前的文章。主要介绍以下两个:

(1)textvariable:关联变量,即将接受的值传递到哪个变量上去
        使用其set方法设置初始,get方法获得该变量的值 ,get方法可以作用在该变量上,也可以作用在改组件上
        eg: v1=StringVar()
        Entry01= Entry(master=self. textvariable=v1)
        则使用va.get()或者Entry01.get()都可以获取该文本框的内容
(2)show:表示显示给用户的内容,通常用在一些密码输入上,例如输入密码全部展示成*号等。

综合案例

设计一个登录界面,界面显示以下内容:提示用户输入账号和密码的文本框,一个登录按钮,一个退出按钮,点击登录按钮需要进行检查账户和密码是否对应,这里用简单的if语句判断即可。实际操作时可以连接数据库进行修改,最后推出按钮点击的话直接关闭程序。为了保护隐私,需要输入的密码显示成*。
我们依旧使用前面的经典写法,在*CreateWidgets()*方法中进行书写

from tkinter import *
from tkinter import messagebox
from PIL import Image, ImageTk
class Application(Frame):
    def __init__(self, master):
        super().__init__(master)
        self.pack()
        self.CreateWidget()

    def CreateWidget(self):
        # 设置登录框
        self.label01 = Label(master=self, text='用户名')
        self.label01.pack()
        v1 = StringVar()
        self.entry01 = Entry(master=self, textvariable=v1)
        self.entry01.pack()

        # 设置密码框
        self.label02 = Label(master=self, text='密码')
        self.label02.pack()
        v2 = StringVar()
        self.entry02 = Entry(master=self, textvariable=v2, show='*')
        self.entry02.pack()

        # 设置登录按钮
        self.btn_login = Button(master=self, text='登录', command=self.login)
        self.btn_login.pack()
        # 设置退出按钮
        self.btnQuit = Button(master=self, text='退出', command=self.master.destroy)
        self.btnQuit.pack()

    def login(self):
        print(f"用户名:{self.entry01.get()},密码:{self.entry02.get()}")
        if (self.entry01.get()=='admin') and (self.entry02.get()=='admin'):
            messagebox.showinfo('登录','登陆成功,欢迎进入系统!')
        else:
            messagebox.showerror('Error','用户名或密码错误,请检查后重试!')

运行后主界面如下所示:
在这里插入图片描述
由于这里我们默认的账户和密码都是"admin",所以我们先尝试正确的账户密码输入的情况,并点击登录,显示如下效果:
在这里插入图片描述
当我们输入的账号或者密码错误的时候,会出现以下错误提示:
在这里插入图片描述
因为错误这里用的是showerror方法,所以显示的图标会不一样。点击退出后该界面会自动销毁。程序运行正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值