Entry 单行文本框
Entry 用来接收一行字符串的控件。
如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会自动向后滚动。
如果想输入多行文本, 需要使用 Text 控件。
"""
测试Entry 单行文本框
"""
from tkinter import *
from tkinter import messagebox
class Application(Frame):
"""一个经典的GUI程序的写法"""
def __init__(self, master=None):
super().__init__(master) # super代表的是父类的定义,而不是父类对象
self.master = master
self.pack()
self.createWidget()
def createWidget(self):
"""创建组件"""
self.leber01 = Label(self, text='用户名')
self.leber01.pack()
# StringVar变量绑定到指定的组件 。
# 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):
username = self.entry01.get()
pwd = self.entry02.get()
print('去数据库比对用户名和密码!')
print('用户名:' + username)
print('密码:' + pwd)
if username == 'wukong' and pwd == "123456":
messagebox.showinfo('python', '人生苦短,我用Python!')
else:
messagebox.showinfo('python', '用户名或密码错误,请重新输入!')
if __name__ == "__main__":
root = Tk()
root.geometry('200x150+200+200')
app = Application(master=root)
root.mainloop()
>>>
admin
admin
去数据库比对用户名和密码!
用户名:wukong
密码:1111111
去数据库比对用户名和密码!
用户名:wukong
密码:123456