Tkinter.Entry单行文本框

Entry单行文本框

语法

Entry(父对象,options,…)

常用属性

在这里插入图片描述

在这里插入图片描述
注:此图片来源于菜鸟教程。

常用方法

1.show隐藏输入参数

from tkinter import *
class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master=master
        self.pack()
        self.createWidget()

    def createWidget(self):
        self.name=Label(self,text="账号").grid(row=0,column=0)
        self.password=Label(self,text="密码").grid(row=1,column=0)
        self.name_entry=Entry(self).grid(row=0,column=1,padx=5,pady=5)
        self.password_entry=Entry(self).grid(row=1,column=1)

if __name__ == '__main__':
    root=Tk()
    root.geometry('300x200+200+200')
    root.title('萤火虫')
    root.iconbitmap('1.ico')
    app=Application(master=root)
    root.mainloop()

在这里插入图片描述
输入账号密码。
在这里插入图片描述
会发现密码就这样显示出来,不安全,要想以密文的形式显示出来用到show参数隐藏输入字符。
修改代码:

        self.password_entry=Entry(self,show="*").grid(row=1,column=1)

在这里插入图片描述
这样就好多了。
发现还能这样:
在这里插入图片描述
只需要将show参数修改一下就行。
2.get方法的使用。

from tkinter import *
from tkinter import messagebox

class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master=master
        self.pack()
        self.createWidget()

    def createWidget(self):

        self.name=Label(self,text="账号").grid(row=0,column=0)
        self.password=Label(self,text="密码").grid(row=1,column=0)
        v1 = StringVar()
        self.name_entry=Entry(self,textvariable=v1)
        self.name_entry.grid(row=0,column=1,padx=5,pady=10)
        v2 = StringVar()
        self.password_entry=Entry(self,textvariable=v2,show="*")#textvariable绑定组件
        self.password_entry.grid(row=1,column=1)
        self.login_system=Button(self,text="登录",width=7,command=self.login_system)
        self.login_system.grid(row=2,column=1,sticky=W,padx=5,pady=10)
        self.quit_system=Button(self,text="退出",width=7,command=self.quit_system)
        self.quit_system.grid(row=2,column=1,sticky=E,padx=5,pady=10)
    def login_system(self):
        print("账号:"+self.name_entry.get())#get方法
        print("密码:"+self.password_entry.get())
        messagebox.showinfo("提示:","登录成功")
    def quit_system(self):
        root.quit()
if __name__ == '__main__':
    root=Tk()
    root.geometry('300x200+200+200')
    root.title('萤火虫')
    root.iconbitmap('1.ico')
    app=Application(master=root)
    root.mainloop()

在这里插入图片描述
点击退出按钮就会退出该程序。
3.insert方法的使用
insert(index,s)index为插入的位置,s为插入的内容。
添加这两行代码。

self.name_entry.insert(0,"123456789")
self.password_entry.insert(0,"1111")
    def createWidget(self):
        self.name=Label(self,text="账号").grid(row=0,column=0)
        self.password=Label(self,text="密码").grid(row=1,column=0)
        v1 = StringVar()
        self.name_entry=Entry(self,textvariable=v1)
        self.name_entry.grid(row=0,column=1,padx=5,pady=10)
        self.name_entry.insert(0,"123456789")
        v2 = StringVar()
        self.password_entry=Entry(self,textvariable=v2,show="*")
        self.password_entry.grid(row=1,column=1)
        self.password_entry.insert(0,"1111")
        self.login_system=Button(self,text="登录",width=7,command=self.login_system)
        self.login_system.grid(row=2,column=1,sticky=W,padx=5,pady=10)
        self.quit_system=Button(self,text="退出",width=7,command=self.quit_system)
        self.quit_system.grid(row=2,column=1,sticky=E,padx=5,pady=10)

在这里插入图片描述
自动填入默认账号和密码。
4.delete方法的使用。
delete(first,last)

    def quit_system(self):
        self.name_entry.delete(0,END)
        self.password_entry.delete(0,END)

当点击退出按钮时会清空账号和密码。
5.eval()方法

from tkinter import *
class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master=master
        self.pack()
        self.createWidget()
    def createWidget(self):
        self.label=Label(self,text="输入数学表达式").grid(row=0,column=0)
        v1 = StringVar()
        self.entry=Entry(self,textvariable=v1)
        self.entry.grid(row=0,column=1,padx=5,pady=10)
        self.system=Button(self,text="开始计算",width=7,command=self.system)
        self.system.grid(row=3,column=1,sticky=W,padx=5,pady=10)
    def system(self):
        self.out=Label(self,text="计算结果为:%s"%(str(eval(self.entry.get())))).grid(row=2)

if __name__ == '__main__':
    root=Tk()
    root.geometry('300x200+200+200')
    root.title('萤火虫')
    root.iconbitmap('1.ico')
    app=Application(master=root)
    root.mainloop()

在这里插入图片描述
点击开始计算
在这里插入图片描述
得到结果。

猜你喜欢

转载自blog.csdn.net/qq_44862120/article/details/107950602