应用程序要获得用户的信息时,输入框是必不可少的
1 import tkinter as tk 2 from tkinter import ttk 3 win=tk.Tk() 4 win.title('GUI005') 5 6 def clickMe(): 7 action.configure(text='Hello '+name.get()+'!') 8 9 10 action=ttk.Button(win,text='Click Me',command=clickMe)11 action.grid(column=1,row=1)12 13 ttk.Label(win,text='Enter a name:').grid(column=0,row=0)14 15 name = tk.StringVar()16 nameEntered=ttk.Entry(win,width=12,textvariable=name)17 nameEntered.grid(column=0,row=1)18 19 win.mainloop()
Entry 是 Tkinter 用来接收字符串等输入的控件. 该控件允许用户输入一行文字. 如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会向后滚动. 这种情况下所输入的字符串无法全部显示. 点击箭头符号可以将不可见的文字部分移入可见区域. 如果你想要输入多行文本, 就需要使用 Text 控件. Entry 控件只能使用预设字体.
使用 Entry 控件的语法如下:w = Entry(master, option, ...)
master
参数为其父控件, 就是用来放置这个 Entry 的控件. 像其他控件一样, 我们可以在创建 Entry 控件之后再为其指定属性. 因此创建方法中的 options
选项可以为空. 我们的程序如何得到这些数据呢?
方法很简单, 调用 Entry 类的get()
方法即可. 【网上小程序】
1 from tkinter import * 2 def reg(): 3 s1=e1.get() 4 s2=e2.get() 5 t1=len(s1) 6 t2=len(s2) 7 if s1=='111' and s2=='222': 8 c['text']='登录成功' 9 else:10 c['text']='用户名或密码错误'11 e1.delete(0,t1)12 e2.delete(0,t2)13 14 15 root = Tk()16 l1=Label(root,text='用户名:').grid(column=0,row=0,sticky=W)17 18 e1=Entry(root)19 e1.grid(column=1,row=0,sticky=E)20 21 l2=Label(root,text='密码:').grid(column=0,row=1,sticky=W)22 23 e2=Entry(root)24 e2.grid(column=1,row=1,sticky=E)25 26 b=Button(root,text='登录',command=reg)27 b.grid(column=1,row=2,sticky=E)28 c=Label(root,text='')29 c.grid(row=3)30 31 root.mainloop()